问题
项目不大,但是导入的包比较多,导致方法数量超过了一定数量
Cannot fit requested classes in a single dex file (# methods: 67938 > 65536)
Android 5.0之前的版本(API level < 21)使用Dalvik runtime来执行代码,默认限制每个APK只能使用一个classes.dex文件,而DEX规范又将单个DEX文件内引用的方法总数限制为65536个
两种修改方式
1、minSdkVersion 改成 21及以上
简单粗暴,但是如果minsdk一定要在21以下的话,可以参考第二种方法,使用multidex
2、multidex分包
android {
defaultConfig {
// 这里添加
multiDexEnabled true
}
}
dependencies {
// 引入multidex库
implementation 'com.android.support:multidex:1.0.3'
}
在自定义的 application 中初始化 MultiDex
@Override
public void onCreate() {
super.onCreate();
// 初始化MultiDex
MultiDex.install(this);
}
清单文件中,引用自定义的application