Closed xiaxinqing closed 1 year ago
@KunMinX 2023-05-10 15:05:32.901 14861-14861/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.spreadit.spreaditapp, PID: 14861
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/spreadit/module_main/BR;
at com.spreadit.module_main.SplashActivity.getDataBindingConfig(SplashActivity.java:28)
at com.spreadit.lib_base.base.DataBindingActivity.onCreate(DataBindingActivity.java:60)
at com.spreadit.lib_base.base.BaseActivity.onCreate(BaseActivity.java:53)
at android.app.Activity.performCreate(Activity.java:8591)
at android.app.Activity.performCreate(Activity.java:8570)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1384)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4150)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4325)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2574)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8757)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.spreadit.module_main.BR" on path: DexPathList[[zip file "/data/app/tcNN_mIZQ8cUsiAOXf_lPA==/com.spreadit.spreaditapp-7U2mcusRLUOqeQ8wsA08dQ==/base.apk"],nativeLibraryDirectories=[/data/app/tcNN_mIZQ8cUsiAOXf_lPA==/com.spreadit.spreaditapp-7U2mcusRLUOqeQ8wsA08dQ==/lib/arm, /data/app/~~tcNN_mIZQ8cUsiAOXf_lPA==/com.spreadit.spreaditapp-7U2mcusRLUOqeQ8wsA08dQ==/base.apk!/lib/armeabi-v7a, /system/lib, /system/system_ext/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.spreadit.module_main.SplashActivity.getDataBindingConfig(SplashActivity.java:28)
at com.spreadit.lib_base.base.DataBindingActivity.onCreate(DataBindingActivity.java:60)
at com.spreadit.lib_base.base.BaseActivity.onCreate(BaseActivity.java:53)
at android.app.Activity.performCreate(Activity.java:8591)
at android.app.Activity.performCreate(Activity.java:8570)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1384)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4150)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4325)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2574)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8757)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
没懂你遇到的问题哈,不过 DataBinding 在 IDE 中确实时不时有奇怪的抽风,
建议是先跑下本示例项目,如果能跑起来,排除是 IDE 环境,
那么继续回到自己项目中,检查 AndroidManifest 中定义的包名,和 build.gradle 中定义的 ApplicationId 是否一致,
如果一致无误,clean 该项目然后重新 build 试试,
@KunMinX 我用了组件化,宿主包名确实和这个组件的包名不一样,这个有影响吗?(示例项目OK的)
检查一下宿主模块和组件模块的 build.gradle 中是否都有开启 databinding true,
如有,我暂时也没懂其他可能的缘由,可以咨询 chatgpt 看看
清理缓存就好了, 关闭了,感谢大佬回复
第一次尝试使用, 运行时异常:找不到BR
页面没有任何数据,启动就闪退了,请大佬指点。