Instant Run导致ClassNotFoundException

本文记录了一个项目中出现的ClassNotFoundException问题,分析表明此问题是由于InstantRun导致。关闭InstantRun并重新打包后,问题得到解决。

最近一个项目运行时出现了ClassNotFoundException,感觉有点像是64k问题,但很快排除了。

而此处这个问题是apk文件在经过某种签名后才有,没有这种签名就不会出现。

最后关闭了AS中的Instant Run,重新打包才解决了这个问题。

Instant Run虽好,使用需谨慎。

这个issue在AOSP上也有很多问答:https://code.google.com/p/android/issues/detail?id=199327

2025-07-28 17:17:24.640 4997-4997/? E/LoadedApk: Unable to instantiate appComponentFactory java.lang.ClassNotFoundException: Didn't find class "androidx.core.app.CoreComponentFactory" on path: DexPathList[[zip file "/data/app/~~oocBzTKzJzrykXxwo2pUUw==/com.tencent.nba2kol-EEy-nw9eiTduuLYyKIP8qw==/base.apk"],nativeLibraryDirectories=[/data/app/~~oocBzTKzJzrykXxwo2pUUw==/com.tencent.nba2kol-EEy-nw9eiTduuLYyKIP8qw==/lib/arm64, /data/app/~~oocBzTKzJzrykXxwo2pUUw==/com.tencent.nba2kol-EEy-nw9eiTduuLYyKIP8qw==/base.apk!/lib/arm64-v8a, /system/lib64, /system/system_ext/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.app.LoadedApk.createAppFactory(LoadedApk.java:282) at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:995) at android.app.LoadedApk.getClassLoader(LoadedApk.java:1082) at android.app.LoadedApk.getResources(LoadedApk.java:1330) at android.app.ContextImpl.createAppContext(ContextImpl.java:3068) at android.app.ContextImpl.createAppContext(ContextImpl.java:3060) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7057) at android.app.ActivityThread.access$1800(ActivityThread.java:284) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2277) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:233) at android.os.Looper.loop(Looper.java:334) at android.app.ActivityThread.main(ActivityThread.java:8344) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:582) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1065) --------- beginning of crash
最新发布
07-30
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值