今天在AndroidStudio中导入了一个项目,编译的时候没有什么问题,但是在执行Rebuild Project 和 Build APK(s)时报错了,提示:
Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> java.lang.RuntimeException: java.lang.RuntimeException:
com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex。
为了避免以后遇到时忘记了,所以把解决方法写出来保存一下,希望也能对各位同学提供点帮助。如果有些的不对的地方,也欢迎大家批评指正,在此表示感谢!
解决办法一:
在项目的build.gradle文件中查看自己导入的依赖,看看是否有重复的,如果有的话删除掉,重新进行编译。
解决方法二:
倘若在上一种解决方法没有效果,再检查一下build.gradle中是否有类似
compile(name: 'class', ext: 'jar')
这样的代码,如果有的话,可以修改为下面这种写法:
compile files('libs/class.jar')
解决方法三:
如果上述两种都没有解决问题,可以使用这种方法, 在build.gradle文件中导入这个依赖:
compile 'com.android.support:multidex:1.0.1'
然后在 build.gradle 文件中的 defaultConfig 配置中添加配置:
multiDexEnabled true
截图如下:
我就是使用这种方法解决了这个问题,上面的依赖记得要添加到build.gradle文件中去。
解决方法四:
我看到还有另外的解决方法,就是先将项目的.gradle文件夹给删除掉,然后 Clean Project 即可。
这个方案我也尝试了一下,并没有解决我遇到的这种情况,不过大家也可以尝试一下,
可能产生问题的原因不一样,也许能够解决别的情况。