Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

错误提示:

Error:Execution failed for task ':ZMU.B:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

原因:

根据相关文档提示,工程中有重复包被使用;

1、此时你需要去找一下所属工程中是否有重复引用包,有删除多余留一个就,重新编译就可以;

2、如果使用的引用包过多不好查找,那么有一个一劳永逸的方法:

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

按照上图设置;

此时编译一下工程;

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

此时如上图提示,你可以很快定位到那个包被重复引用,删除即可;

3、如果依照方法2,都删除所有错误提示的包,才没有该错误,但所依赖该包的方法缺报undefined错误,那么非常有可能是你引用的包本身有问题;可以尝试降版本或升版本

将如下这行:
    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.2'
替换成: 
    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5'
也就是将版本1.5.2退回到1.5,就可以了