java.lang.ClassNotFoundException:dalvik.system.BaseDexClassLoader.findClass

时间:2017-07-03 08:12:52

标签: java android classnotfoundexception multidex

我在Google Play开发者控制台中不断收到此错误报告。它看起来像MultiDex错误。



java.lang.RuntimeException: 
  at android.app.LoadedApk.makeApplication(LoadedApk.java:516)
  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4514)
  at android.app.ActivityThread.access$1500(ActivityThread.java:151)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381)
  at android.os.Handler.dispatchMessage(Handler.java:110)
  at android.os.Looper.loop(Looper.java:193)
  at android.app.ActivityThread.main(ActivityThread.java:5299)
  at java.lang.reflect.Method.invokeNative(Native Method:0)
  at java.lang.reflect.Method.invoke(Method.java:515)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
  at dalvik.system.NativeStart.main(Native Method:0)

Caused by: java.lang.ClassNotFoundException: 
  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
  at android.app.Instrumentation.newApplication(Instrumentation.java:975)
  at android.app.LoadedApk.makeApplication(LoadedApk.java:511)




我已将此添加到gradle.build:



defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...

// Enabling multidex support.
multiDexEnabled true
}

dependencies {
  compile 'com.android.support:multidex:1.0.0'
}






 @Override
    protected void attachBaseContext(Context newBase) {
        super.attachBaseContext(newBase);
        try {
            MultiDex.install(this);
        }catch (RuntimeException e){
            e.printStackTrace();
        }catch (Exception e){
            e.printStackTrace();
        }
    }




我在android 4.4,5.0,5.1,6.0中仍然收到此错误。请帮忙!!

2 个答案:

答案 0 :(得分:0)

Android中java.lang.ClassNotFoundException有多种变体,其中大多数是由错误的Proguard配置引起的,IDE在构建期间未正确关闭设备先前启动的实例等。

关注Unexpected crash in BaseDexClassLoader,了解更多详细信息。

答案 1 :(得分:0)

可能是由于依赖性冲突(两个库中可能存在相同的类)。 因此,请在依赖项中搜索BaseDexClassLoader类。