Android apk方法数量限制 Error: Cannot fit requested classes in a single dex file (# methods: 67667 > 65536

最近开发中遇到一个报错信息 如下

Error: Cannot fit requested classes in a single dex file (# methods: 67667 > 65536)大致意思是Android App中的方法数超过65535时,如果往下兼容到低版本设备时,就会报编译错误,尤其在引入一些jar包和搞了一个modle进来之后容易出现这个错误,因为Android系统定义总方法数是一个short int,short int 最大值为65536,当你引入一些jar包后方法超过65k个方法。一个dex已经装不下了,需要个多个dex,也就是multidex ,

解决办法:

1、在dependencies里面添加:
implementation 'com.android.support:multidex:1.0.3'

在app model中的build.gradle的dependencies中加入上面那句话

Android apk方法数量限制 Error: Cannot fit requested classes in a single dex file (# methods: 67667 > 65536_第1张图片

2、gradle文件的defaultConfig默认配置里面增加:
multiDexEnabled true

android {
    compileSdkVersion 23
    defaultConfig {
        applicationId "com.baidu.www"
        minSdkVersion 19
        targetSdkVersion 23
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }

在defaultConfig中加入multiDexEnabled true
3.最后在自定义了Application子类,需要在这个子类中重写一个方法

    // 主要是添加下面这句代码
    MultiDex.install(this);

你可能感兴趣的:(Android)