Error: Cannot fit requested classes in a single dex file

关于

在Android中一个Dex文件最多存储65536个方法,也就是一个short类型的范围。但随着应用方法数量的不断增加,当Dex文件突破65536方法数量时,打包时就会抛出异常。
Andorid 5.0之后,ART虚拟机天然支持MultiDex。
Andorid 5.0之前,系统只加载一个主dex,其它的dex采用MultiDex手段来加载。
所以使用multidex可以解决低端型机的问题

解决

在项目的build.gradle中添加引用:

dependencies {
// MultiDex的依赖
    implementation 'com.android.support:multidex:1.0.3'
}

在gradle文件的defaultConfig默认配置里面增加:

defaultConfig {    
        multiDexEnabled true
       
    }

如果自定义了MyApplicaition继承了Application的话可以在oncreate里面初始化如下

MultiDex.install(this);

好啦,到此解决问题。

你可能感兴趣的:(常见问题专区)