首页 > 解决方案 > ClassNotFoundException-.BaseDexClassLoader.findClass

问题描述

我在生产构建中面临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 中。

有人能帮忙吗!

提前致谢..

标签: androidclassnotfoundexceptionandroid-proguardandroid-multidex

解决方案


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。


推荐阅读