您的位置:首页 > 移动开发 > Android开发

解决Error:Android Dex: com.android.dex.DexIndexOverflowException: Cannot merge new index 65918 into a

2017-02-21 20:46 260 查看
错误:Error:Android Dex: com.Android.dex.DexIndexOverflowException:
Cannot merge new index 65918 into a non-jumbo instruction!

如下图:



直接原因是Java代码太多,jar包太多。

谷歌官方文档已经有解决方案:http://developer.android.com/intl/zh-cn/tools/building/multidex.html

点击打开链接

eclipse的解决方案:在项目中的这个文件project.properties中添加一句话:dex.force.jumbo=true,如图:



Android studio 解决方案,需要几个步骤:

第一步,添加 multiDexEnabled = true,如图:



第二步,添加依赖于你的build.gradle支持MultiDex库,如图:



第三步分3个情况,

如果你没有创建自己的Application 类,在你的清单文件AndroidManifest.xml中配置android.support.multidex.MultiDexApplication就可以了。

android:name="android.support.multidex.MultiDexApplication" 

如果你有自己的Application类了,让它继承 android.support.multidex.MultiDexApplication而不是android.app.Application

如果你的Application继承了其他的类,并且你不想改变或者没办法改变。按照下面的方法重写attachBaseContext(),

@Override

protected void attachBaseContext(Context base) {

    super.attachBaseContext(base);

    MultiDex.install(this);

}

如果没有第二和第三步,可能有些手机运行时会报错,如图:



好了,重新编译,可以通过了,又可以愉快的玩耍了……



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐