动态功能:无法实例化活动 ComponentInfo{com.xy.xy/xy.xy.xy.presentation.StoreActivity}

问题描述

很简单,我有一个包含 storeStoreActivity 动态功能模块,然后我使用反射从 app 模块启动此活动

startActivity(Intent().apply {
            setClassName(BuildConfig.APPLICATION_ID,"xy.xy.store.presentation.StoreActivity")
            putExtra("STORE_ID",store.storeId)
        })

当我只运行一个调试未签名的 APK 时,一切都很好,但是当我生成一个签名的发布 APK 并尝试打开商店动态功能活动时,它是 { {1}} 我看到了这次崩溃:

StoreActivity

我已经将 2021-02-24 13:04:34.295 6792-6792/com.xy.xy E/AndroidRuntime: FATAL EXCEPTION: main Process: com.xy.xy,PID: 6792 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.xy.xy/xy.xy.store.presentation.StoreActivity}: java.lang.classNotFoundException: Didn't find class "xy.xy.store.presentation.StoreActivity" on path: DexPathList[[zip file "/data/app/com.xy.xy-KZlNqT_BrQVeUuAYiKqjNQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.xy.xy-KZlNqT_BrQVeUuAYiKqjNQ==/lib/arm64,/data/app/com.xy.xy-KZlNqT_BrQVeUuAYiKqjNQ==/base.apk!/lib/arm64-v8a,/system/lib64,/hw_product/lib64,/system/product/lib64]] at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:3815) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4076) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:91) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2473) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os.Looper.loop(Looper.java:219) at android.app.ActivityThread.main(ActivityThread.java:8349) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055) Caused by: java.lang.classNotFoundException: Didn't find class "xy.xy.store.presentation.StoreActivity" on path: DexPathList[[zip file "/data/app/com.xy.xy-KZlNqT_BrQVeUuAYiKqjNQ==/base.apk"],/system/product/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:209) at java.lang.classLoader.loadClass(ClassLoader.java:379) at java.lang.classLoader.loadClass(ClassLoader.java:312) at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95) at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:45) at android.app.Instrumentation.newActivity(Instrumentation.java:1264) at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:3800) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4076)  at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:91)  at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149)  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2473)  at android.os.Handler.dispatchMessage(Handler.java:110)  at android.os.Looper.loop(Looper.java:219)  at android.app.ActivityThread.main(ActivityThread.java:8349)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055)  添加到 proguard 文件中,甚至我已经完全禁用了 proguard,但它没有工作。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)