这个一般是在将dex分成多个文件时会出现这个错误。
java.lang.NoClassDefFoundError: ×××××××
这是因为你的这个类没有打包进 main dex 中,所以在调用时,找不见。
有三种方法解决这种问题,选一个即可:
解决方法1:
配置xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.multidex.myapplication">
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
</manifest>
方法2:
Application类继承MultiDexApplication
public class MyApplication extends MultiDexApplication { .. }
方法3:
在Application 中调用 MultiDex.install(this)
public class MyApplication {
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
....
}
....
}
参考了 Stack Overflow 上的文章: 链接