com.android.dex.DexIndexOverflowException解决方案

2018-01-05 10:01:35

错误信息:

Error:Android Dex: com.android.dex.DexIndexOverflowException: Cannot merge new index xxx into a non-jumbo instruction!

google官方说明: http://developer.android.com/intl/zh-cn/tools/building/multidex.html

Android Studio解决办法:

android/app/build.gradle文件 

android/defaultConfig节点下添加
multiDexEnabled = true

android/dependencies节点下添加
compile 'com.android.support:multidex:1.0.1'

如果是RN项目

android/app/src/.../MainApplication.java文件重载方法
@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}

如果非RN项目

如果没有自己的application类
AndroidManifest.xml中添加
android:name="android.support.multidex.MultiDexApplication"

如果有自己的application类,则此类继承
android.support.multidex.MultiDexApplication
即可,如果不能继承,可参考RN项目中的修改。