项目中的方法数太多,包括自己的、第三方等,超过65536就会报这个错,无法生成apk文件。
官方解决方案:https://developer.android.com/intl/zh-cn/tools/building/multidex.html
解决办法:
1.app:build.gradle
apply plugin: 'com.android.application'
android {
defaultConfig {
...
multiDexEnabled true
}
}
dependencies {
...
compile'com.android.support:multidex:1.0.2'
}
加上这两行配置:
multiDexEnabled true
compile’com.android.support:multidex:1.0.2’
2.配置application
分三种情况,选其一
1.没有创建Application类
只需要在AndroidManifest.xml的application中声明android.support.multidex.MultiDexApplication即可
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
2.有自己的Application类
继承MultiDexApplication即可
3.有自己的Application类,且继承了第三方的Application类
重写attachBaseContext 方法即可
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}