最近写项目,写着写着运行时突然就报错了,运行不起来了,报错如下:
Error: null, Cannot fit requested classes in a single dex file (# methods: 67346 > 65536)
主要原因
项目太大, 已经超过65k个方法, 一个dex已经装不下了,需要个多个dex, 也就是multidex。
因为Android系统定义总方法数是一个short int,short int 最大值为65536。
解决办法
在 app 的 build.gradle 文件中
android {
defaultConfig {
// 这里添加
multiDexEnabled true
}
}
dependencies {
// 引入multidex库
implementation 'com.android.support:multidex:1.0.3'
}
在自定义的 application 中初始化 MultiDex
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// 初始化MultiDex
MultiDex.install(this);
}
}