MultiDex 遇到的大坑

编译报错

Conversion to Dalvik format failed:
Unable to execute dex: method ID not in [0, 0xffff]: 65536
没问题

当你以为配置了以下代码之后

android {
    defaultConfig {
        ...
        minSdkVersion 15 
        targetSdkVersion 26
        multiDexEnabled true
    }
    ...
}

dependencies {
  compile 'com.android.support:multidex:1.0.1'
}
public class MyApplication extends SomeOtherApplication {
  @Override
  protected void attachBaseContext(Context base) {
     super.attachBaseContext(context);
     Multidex.install(this);
  }
}

OK,没问题。

但当代码量再翻倍,你可能还会遇到

java.lang.NoClassDefFoundError

于是你又配置了

android {
    buildTypes {
        release {
            multiDexKeepProguard 'multidex-config.pro'
            ...
        }
    }
}

你可能编译没有问题了,但是请检查一下你有没有开minifyEnabled

如果开了,请将multidex-config.pro的代码同步到proguard-rules.pro中!!!!

如果开了,请将multidex-config.pro的代码同步到proguard-rules.pro中!!!!

如果开了,请将multidex-config.pro的代码同步到proguard-rules.pro中!!!!

如果开了,请将multidex-config.pro的代码同步到proguard-rules.pro中!!!!

如果开了,请将multidex-config.pro的代码同步到proguard-rules.pro中!!!!

如果开了,请将multidex-config.pro的代码同步到proguard-rules.pro中!!!!

你可能感兴趣的:(Android,Studio,Android)