错误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);
}