android studio项目突然跑不起来了,报:
Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
![](https://img.haomeiwen.com/i1117475/f0f6b75f58ae3a1a.png)
在 Gradle console里面按照提示点击Run with --stacktrace
(如上图), 得到下面的错误提示
....
Caused by: com.android.dex.DexException: Multiple dex files define Landroid/support/design/widget/CoordinatorLayout$LayoutParams;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:661)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:616)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:598)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:198)
at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61)
... 1 more
大体上知道是有重复的文件导致的了。
最终在项目的External Libraries
中找到了两个重复的文件
一个是com.android.support:design-25.3.1
下面的:
编译好的classes.jar里面
android.support.design.widget.CoordinatorLayout
另一个则是com.android.support:support-core-ui-27.1.0
下面的:
编译好的classes.jar里面
android.support.design.widget.CoordinatorLayout
com.android.support:support-core-ui-27.1.0
是因为gradle中的implementation 'com.android.support:appcompat-v7:27+'
而导入的。测试时把它的版本号改为27.0.2再重新Sync Now
一下就好了。
com.android.support:support-core-ui-27.0.2
下面就没有重复的android.support.design.widget.CoordinatorLayout
了。
网友评论