Error: Cannot fit requested classes in a single dex file

最近写项目,写着写着运行时突然就报错了,运行不起来了,报错如下

Error: Cannot fit requested classes in a single dex file (# methods: 66190 > 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

@Override
public void onCreate() {
    super.onCreate();
    // 初始化MultiDex
    MultiDex.install(this);
}

你可能感兴趣的:(android报错)