ClassNotFoundException-.BaseDexClassLoader.findClass
Posted
技术标签:
【中文标题】ClassNotFoundException-.BaseDexClassLoader.findClass【英文标题】:ClassNotFoundException- .BaseDexClassLoader.findClass 【发布时间】:2018-12-23 22:05:49 【问题描述】:我在生产构建中面临 ClassNotFoundException。
请在下面找到异常日志。
java.lang.RuntimeException:
at android.app.LoadedApk.makeApplication (LoadedApk.java:578)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:4680)
at android.app.ActivityThread.access$1600 (ActivityThread.java:150)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1405)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:148)
at android.app.ActivityThread.main (ActivityThread.java:5417)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616)
Caused by: java.lang.ClassNotFoundException:
at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass (ClassLoader.java:511)
at java.lang.ClassLoader.loadClass (ClassLoader.java:469)
at android.app.Instrumentation.newApplication (Instrumentation.java:982)
at android.app.LoadedApk.makeApplication (LoadedApk.java:573)
我在项目中正确设置了progaurd和Multidex,这个问题出现在从4.2到6.0的多个android版本中。
谁能帮忙解决这个问题!
提前谢谢..
【问题讨论】:
您好,您的问题解决了吗?我可以知道根本原因是什么吗? 启用 mulidex 并尝试。 【参考方案1】:defaultConfig
...
minSdkVersion 14
targetSdkVersion // your version
...
// Enabling multidex support.
multiDexEnabled true
dependencies
compile 'com.android.support:multidex:1.0.0'
将以上部分添加到您的 build.gradle 文件中。
@Override
protected void attachBaseContext(Context base)
MultiDex.install(base);
将以上内容添加到您的应用程序文件中,这将扩展 MultiDexApplication。
【讨论】:
感谢回复,我已经在App中使用MultiDexApplication了。 好的,您可以尝试以下几点并告诉我状态吗? 1) 使缓存无效/重新启动 Android Studio。 2)尝试在禁用即时运行的同时进行构建不是一个完美的修复,但如果您赶时间,可以帮助您! 这是一个 Play 商店构建问题.. 不是调试问题。以上是关于ClassNotFoundException-.BaseDexClassLoader.findClass的主要内容,如果未能解决你的问题,请参考以下文章