解决ERROR:ANDROID DEX: COM.ANDROID.DEX.DEXINDEXOVERFLOWEXCEPTION: CANNOT MERGE NEW INDEX 66220 INTO A

来源:互联网 发布:java SQLexists用法 编辑:程序博客网 时间:2024/06/06 08:37

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

分析:上面的异常是什么意思呢?

Dex文件的方法数超出上限,那么上限(64k=65535)

解决:

1.Eclipse直接在project.properties中加入dex.force.jumbo=true

2.AS的解决方案

1.在module的build.gradle文件中android节点下的defaultConfig节点中加入multiDexEnable= true这个属性

2.在module的dependencies节点中加入multiDex依赖

//dex方法数越界的解决办法compile 'com.android.support:multidex:1.0.1'
          3.在application调用多Dex文件的安装支持
1.如果应用没有自定义application,那么可以直接使用
android:name="android.support.multidex.MultiDexApplication" 
 直接在manifest文件中给application节点配置name属性
2.如果有自定义application,并且application的父类是Application,那么可以直接让该application继承MultiDexApplication
3.如果有自定义application,并且application的父类不是Application,那么可以直接在
attachBaseContext方法中调用
 protected void attachBaseContext(Context base) {        super.attachBaseContext(base);        MultiDex.install(this);    }

阅读全文
0 0
原创粉丝点击