Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'_第1张图片

类似如图的这种错误,大多都是属于引用第三方的lib与本地的Lib中有重复的文件。 例如在这我张图中的情况就属于,我在第三方与本地lib中Banse64Decoder重复文件,导致的错误。
我最早的时候碰到的错误是两个其中一个是: Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包),然后我各种测试,各种百度都不好用。然后我在一篇文中看到了

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'_第2张图片

加上multiDexEnabled true这个条件,报的错误就变成一个:


然后继续解决问题,因为报了最上面图中所示的错误,这次比较明确,于是我删除了我项目中lib带有的base64,然后build成功。

这个时候大家千万不要着急认为问题完全就这样搞定了,需要回头去看。

 加上multiDexEnabled true解决的哪一个问题是什么,是否是因为后面才是真正的问题,前面的只是编译器顺带译出来的,实际上这个错误在后面被觉得情况下是不存在的。

于是就注释掉multiDexEnabled true,发现程序依旧可以成功,说明程序中本质的错误是Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug,而Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)只是因为编译器在其错误之上的另一个提示错误。


像遇到这种问题不要急(我一开始不急,但是找到后面明显心态烦躁了。。。),因为这种问题有时候与gradle的更行,也有少许关系。因为gradle导致包的兼容与重复等问题,都是需要注意的地方。




你可能感兴趣的:(android)