周末下班时被告知需要打包,以为打完包后就可以高高兴兴的回家了。然而却碰到了一个问题,没有打成功,原本周末愉悦的心情瞬间不美丽了。这里记录一下这个错误。
打包时的错误提示为:
Error:Execution failed for task ':app:transformDexWithDexForRelease'.
com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: Cannot merge new index 65868 into a non-jumbo instruction!
遇事不能慌,于是用谷歌百度了一下。原来是在编译生成.dex文件时因为方法数太多,无法生成.dex文件。这时想起了应该是刚引入的一个第三方库引起的。
知道了问题所在,就该对症下药了:
方法一:
在模块的build.gradle里配置:
android {
dexOptions {
jumboMode true
}
}
方法二:
图例在模块的build.gradle找到defaultConfig ,增加 multiDexEnabled true即可.
图片引用自niuzaiwenjie,如有问题,请告知删除
如此,就可以解决如上问题了。。。
文档参考:
解决“Cannot merge new index xxx into a non-jumbo instruction”的问题
android studio 打包错误:Error:Execution failed for task ':app:transformDexWithDexForRelease'
网友评论