HuolalaTech / hll-wp-therouter-android

A framework for assisting in the renovation of Android componentization(帮助 App 进行组件化改造的动态路由框架)
https://therouter.cn/
Apache License 2.0
1.07k stars 128 forks source link

获取Fragment说空指针 #149

Closed HugMua closed 4 months ago

HugMua commented 4 months ago

TheRouter.build(RouterPath.FRAGMENT_HOT).createFragment<Fragment>() 以上代码在Activity的onCreate()中获取子模块中的Fragment报空指针(build.gradle中有implement子模块): Process: com.jomurphys.dayup.componentization, PID: 26555 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jomurphys.dayup.componentization/com.jomurphys.dayup.module_main.MainActivity}: java.lang.NullPointerException at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3991) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4144) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:99) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2589) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:224) at android.os.Looper.loop(Looper.java:318) at android.app.ActivityThread.main(ActivityThread.java:8762) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:561) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013) Caused by: java.lang.NullPointerException at com.jomurphys.dayup.module_main.MainActivity.initView(MainActivity.kt:37) at com.jomurphys.dayup.module_main.MainActivity.onCreate(MainActivity.kt:33) at android.app.Activity.performCreate(Activity.java:8891) at android.app.Activity.performCreate(Activity.java:8856) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1471) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3973) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4144)  at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)  at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149)  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:99)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2589)  at android.os.Handler.dispatchMessage(Handler.java:106)  at android.os.Looper.loopOnce(Looper.java:224)  at android.os.Looper.loop(Looper.java:318)  at android.app.ActivityThread.main(ActivityThread.java:8762)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:561)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013) 

HugMua commented 4 months ago

注释掉获取Fragment的代码,是能正常打开Activity的。 image image

kymjs commented 4 months ago

https://therouter.cn/docs/2023/07/21/01 按Q1步骤排查

HugMua commented 4 months ago

我解决了:问题出在 path 不是用的 url 格式,之前用的 “Aaa/BbbCcc”,改成 “https://aaa/bbb” 解决。