luckybilly / CC

业界首个支持渐进式组件化改造的Android组件化开源框架,支持跨进程调用。Componentize your android project gradually.
https://luckybilly.github.io/CC-website/
Apache License 2.0
4.04k stars 636 forks source link

Component-A 调用Component-B 的Fragment失败 #140

Closed GooDong closed 5 years ago

GooDong commented 5 years ago

1.使用主工程集成调用,OK。

2.单独运行Component-A,Component-B,则无法难道返回的Fragment,日志:

`06-10 19:18:52.419 1553-1581/? I/ActivityManager: START u0 {flg=0x10000000 cmp=com.kuman.comic/com.client.kuman.home.ui.HomeActivity} from uid 10279 and from pid 8802 on display 0 06-10 19:19:01.151 1553-2796/? I/WindowState: WIN DEATH: Window{a8f6d2e u0 com.kuman.comic/com.client.kuman.home.ui.HomeActivity} 06-10 19:19:01.710 1553-1568/? W/ActivityManager: Force removing ActivityRecord{9b3ada u0 com.kuman.comic/com.client.kuman.home.ui.HomeActivity t119}: app died, no saved state 06-10 19:19:03.453 1553-2083/? I/ActivityManager: START u0 {flg=0x10000000 cmp=com.kuman.comic/com.client.kuman.home.ui.HomeActivity} from uid 10279 and from pid 9235 on display 0 06-10 19:20:34.328 1553-1563/? I/ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.client.kuman.home/.ui.HomeActivity} from uid 2000 and from pid 14087 on display 0 06-10 19:20:34.554 8869-8869/? D/KuMan_HomeActivity: Enter onCreate 06-10 19:20:34.597 8869-8869/? D/AndroidAutoSize: com.client.kuman.home.ui.HomeActivity used the global configuration. 06-10 19:20:34.599 8869-8869/? D/AndroidAutoSize: The com.client.kuman.home.ui.HomeActivity has been adapted! HomeActivity Info: isBaseOnWidth = true, designWidthInDp = 1080.000000, targetDensity = 1.000000, targetScaledDensity = 1.000000, targetDensityDpi = 160, targetXdpi = 1.000000 06-10 19:20:34.639 8869-8869/? D/KuMan_HomeActivity: Enter onNewCreate 06-10 19:20:34.712 8869-8869/? D/KuMan_HomeActivity: Enter initView 06-10 19:20:35.430 14117-14117/com.kuman.comic I/ComponentCaller_VERBOSE: (com.kuman.comic)(main)com.client.kuman.home:1 >>>> start component:com.client.kuman.journal.component.JournalComponent, cc: {"callId":"com.client.kuman.home:1","context":"com.kuman.comic.ComicsApplication@bbb6677","componentName":"com.client.kuman.journal","actionName":"new_journal_home_page","timeout":2000,"withoutGlobalInterceptor":true,"callbackOnMainThread":false,"params":{},"interceptors":"[]"} 06-10 19:20:35.443 14117-14117/com.kuman.comic D/KuMan_JournalComponent: Enter onCall actionName : new_journal_home_page 06-10 19:20:35.477 14117-14117/com.kuman.comic I/ComponentCaller_VERBOSE: (com.kuman.comic)(main)com.client.kuman.home:1 >>>> com.client.kuman.journal:com.client.kuman.journal.component.JournalComponent.onCall(cc) return:false 06-10 19:20:35.511 14117-14117/com.kuman.comic I/ComponentCaller_VERBOSE: (com.kuman.comic)(main)com.client.kuman.home:2 >>>> start component:com.client.kuman.journal.component.JournalComponent, cc: {"callId":"com.client.kuman.home:2","context":"com.kuman.comic.ComicsApplication@bbb6677","componentName":"com.client.kuman.journal","actionName":"new_journal_home_page","timeout":2000,"withoutGlobalInterceptor":true,"callbackOnMainThread":false,"params":{},"interceptors":"[]"} 06-10 19:20:35.511 14117-14117/com.kuman.comic D/KuMan_JournalComponent: Enter onCall actionName : new_journal_home_page 06-10 19:20:35.511 14117-14117/com.kuman.comic I/ComponentCaller_VERBOSE: (com.kuman.comic)(main)com.client.kuman.home:2 >>>> com.client.kuman.journal:com.client.kuman.journal.component.JournalComponent.onCall(cc) return:false 06-10 19:20:35.515 8869-8869/? D/KuMan_HomeActivity: Enter fragment1 == null ?true 06-10 19:20:35.515 8869-8869/? D/KuMan_HomeActivity: Enter fragment2 == null ?true 06-10 19:20:35.517 8869-8869/? D/KuMan_HomeActivity: Enter initPresenter 06-10 19:20:35.517 8869-8869/? D/KuMan_HomeActivity: Enter initData 06-10 19:20:35.704 1553-2300/? I/WindowState: WIN DEATH: Window{3c1e1dd u0 com.client.kuman.home/com.client.kuman.home.ui.HomeActivity} 06-10 19:20:35.717 1553-2298/? W/ActivityManager: Force removing ActivityRecord{2ba4566 u0 com.client.kuman.home/.ui.HomeActivity t123}: app died, no saved state 06-10 19:20:44.396 1553-2737/? I/ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.client.kuman.home cmp=com.client.kuman.home/.ui.HomeActivity} from uid 10072 and from pid 8729 on display 0 06-10 19:20:44.477 1553-1564/? I/ActivityManager: Start proc 14537:com.client.kuman.home/u0a90 for activity com.client.kuman.home/.ui.HomeActivity 06-10 19:20:44.889 14537-14537/com.client.kuman.home D/KuMan_HomeActivity: Enter onCreate 06-10 19:20:44.961 14537-14537/com.client.kuman.home D/AndroidAutoSize: com.client.kuman.home.ui.HomeActivity used the global configuration. 06-10 19:20:44.963 14537-14537/com.client.kuman.home D/AndroidAutoSize: The com.client.kuman.home.ui.HomeActivity has been adapted! HomeActivity Info: isBaseOnWidth = true, designWidthInDp = 1080.000000, targetDensity = 1.000000, targetScaledDensity = 1.000000, targetDensityDpi = 160, targetXdpi = 1.000000 06-10 19:20:44.996 14537-14537/com.client.kuman.home D/KuMan_HomeActivity: Enter onNewCreate 06-10 19:20:45.102 14537-14537/com.client.kuman.home D/KuMan_HomeActivity: Enter initView 06-10 19:20:45.147 14117-14117/com.kuman.comic I/ComponentCaller_VERBOSE: (com.kuman.comic)(main)com.client.kuman.home:1 >>>> start component:com.client.kuman.journal.component.JournalComponent, cc: {"callId":"com.client.kuman.home:1","context":"com.kuman.comic.ComicsApplication@bbb6677","componentName":"com.client.kuman.journal","actionName":"new_journal_home_page","timeout":2000,"withoutGlobalInterceptor":true,"callbackOnMainThread":false,"params":{},"interceptors":"[]"} 06-10 19:20:45.147 14117-14117/com.kuman.comic D/KuMan_JournalComponent: Enter onCall actionName : new_journal_home_page 06-10 19:20:45.147 14117-14117/com.kuman.comic I/ComponentCaller_VERBOSE: (com.kuman.comic)(main)com.client.kuman.home:1 >>>> com.client.kuman.journal:com.client.kuman.journal.component.JournalComponent.onCall(cc) return:false 06-10 19:20:45.167 14117-14117/com.kuman.comic I/ComponentCaller_VERBOSE: (com.kuman.comic)(main)com.client.kuman.home:2 >>>> start component:com.client.kuman.journal.component.JournalComponent, cc: {"callId":"com.client.kuman.home:2","context":"com.kuman.comic.ComicsApplication@bbb6677","componentName":"com.client.kuman.journal","actionName":"new_journal_home_page","timeout":2000,"withoutGlobalInterceptor":true,"callbackOnMainThread":false,"params":{},"interceptors":"[]"} 06-10 19:20:45.167 14117-14117/com.kuman.comic D/KuMan_JournalComponent: Enter onCall actionName : new_journal_home_page 06-10 19:20:45.168 14117-14117/com.kuman.comic I/ComponentCaller_VERBOSE: (com.kuman.comic)(main)com.client.kuman.home:2 >>>> com.client.kuman.journal:com.client.kuman.journal.component.JournalComponent.onCall(cc) return:false 06-10 19:20:45.177 14537-14537/com.client.kuman.home D/KuMan_HomeActivity: Enter fragment1 == null ?true 06-10 19:20:45.177 14537-14537/com.client.kuman.home D/KuMan_HomeActivity: Enter fragment2 == null ?true 06-10 19:20:45.178 14537-14537/com.client.kuman.home D/KuMan_HomeActivity: Enter initPresenter 06-10 19:20:45.178 14537-14537/com.client.kuman.home D/KuMan_HomeActivity: Enter initData 06-10 19:20:45.391 1553-1568/? W/ActivityManager: Activity pause timeout for ActivityRecord{d55a8dd u0 com.client.kuman.home/.ui.HomeActivity t125} 06-10 19:20:45.525 1553-2796/? W/ActivityManager: Force finishing activity com.client.kuman.home/.ui.HomeActivity 06-10 19:20:45.791 1553-2287/? I/WindowState: WIN DEATH: Window{196eaac u0 com.client.kuman.home/com.client.kuman.home.ui.HomeActivity}

// 集成调试 正常调用 06-10 19:21:36.085 1553-2794/? I/ActivityManager: START u0 {flg=0x10000000 cmp=com.kuman.comic/com.client.kuman.home.ui.HomeActivity} from uid 10279 and from pid 15265 on display 0 06-10 19:21:36.209 15381-15381/? I/ComponentCaller: register component success! component name = 'com.client.kuman.journal', class = com.client.kuman.journal.component.JournalComponent 06-10 19:21:36.210 15265-15265/? D/KuMan_HomeActivity: Enter onCreate 06-10 19:21:36.212 15265-15265/? D/AndroidAutoSize: com.client.kuman.home.ui.HomeActivity used the global configuration. 06-10 19:21:36.212 15265-15265/? D/AndroidAutoSize: The com.client.kuman.home.ui.HomeActivity has been adapted! HomeActivity Info: isBaseOnWidth = true, designWidthInDp = 1080.000000, targetDensity = 1.000000, targetScaledDensity = 1.000000, targetDensityDpi = 160, targetXdpi = 1.000000 06-10 19:21:36.214 15265-15265/? D/KuMan_HomeActivity: Enter onNewCreate 06-10 19:21:36.303 15265-15265/? D/KuMan_HomeActivity: Enter initView 06-10 19:21:36.323 15265-15265/? I/ComponentCaller_VERBOSE: (com.kuman.comic)(main)com.kuman.comic:2 >>>> start component:com.client.kuman.journal.component.JournalComponent, cc: {"callId":"com.kuman.comic:2","context":"com.kuman.comic.ComicsApplication@bfa7950","componentName":"com.client.kuman.journal","actionName":"new_journal_home_page","timeout":2000,"withoutGlobalInterceptor":false,"callbackOnMainThread":false,"params":{},"interceptors":"[]"} 06-10 19:21:36.323 15265-15265/? D/KuMan_JournalComponent: Enter onCall actionName : new_journal_home_page 06-10 19:21:36.327 15265-15265/? I/ComponentCaller_VERBOSE: (com.kuman.comic)(main)com.kuman.comic:2 >>>> com.client.kuman.journal:com.client.kuman.journal.component.JournalComponent.onCall(cc) return:false 06-10 19:21:36.328 15265-15265/? I/ComponentCaller_VERBOSE: (com.kuman.comic)(main)com.kuman.comic:3 >>>> start component:com.client.kuman.journal.component.JournalComponent, cc: {"callId":"com.kuman.comic:3","context":"com.kuman.comic.ComicsApplication@bfa7950","componentName":"com.client.kuman.journal","actionName":"new_journal_home_page","timeout":2000,"withoutGlobalInterceptor":false,"callbackOnMainThread":false,"params":{},"interceptors":"[]"} 06-10 19:21:36.328 15265-15265/? D/KuMan_JournalComponent: Enter onCall actionName : new_journal_home_page 06-10 19:21:36.329 15265-15265/? I/ComponentCaller_VERBOSE: (com.kuman.comic)(main)com.kuman.comic:3 >>>> com.client.kuman.journal:com.client.kuman.journal.component.JournalComponent.onCall(cc) return:false

// fragment1 fragment2 为集成调用时候的返回值,能正确获取 06-10 19:21:36.329 15265-15265/? D/KuMan_HomeActivity: Enter fragment1 == null ?false 06-10 19:21:36.329 15265-15265/? D/KuMan_HomeActivity: Enter fragment2 == null ?false 06-10 19:21:36.330 15265-15265/? D/KuMan_HomeActivity: Enter initPresenter 06-10 19:21:36.330 15265-15265/? D/KuMan_HomeActivity: Enter initData `

luckybilly commented 5 years ago

fragment对象不能跨进程传递哦

GooDong commented 5 years ago

fragment对象不能跨进程传递哦

我后来明白了、、、多谢~