Android Studio 2.2.3构建APK报错求助:重复类条目问题
解决Android Studio构建APK时的Duplicate Entry错误
兄弟,太懂这种卡两天的崩溃感了!你遇到的这个Execution failed for task ':app:transformClassesWithJarMergingForDebug'. > com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/design/widget/CoordinatorLayout$1.class错误,本质就是项目里重复引入了包含CoordinatorLayout类的依赖包,大概率是com.android.support:design库被多次引用(比如你的主模块和某个第三方库各自带了不同版本的这个库)。下面给你几个靠谱的解决步骤:
方案1:统一所有Support库的版本
Android Support库的版本必须完全一致,这是最常见的问题根源。
- 打开
app/build.gradle文件,找到dependencies代码块,把所有com.android.support开头的依赖都改成同一个版本号。举个例子:dependencies { // 所有support库用同一个版本,别搞差异化 compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support:design:25.3.1' compile 'com.android.support:recyclerview-v7:25.3.1' // 其他项目依赖... } - 如果是第三方库偷偷带了不同版本的support库,就用
exclude指令把重复的部分踢出去:compile('你用的第三方库依赖地址') { exclude group: 'com.android.support', module: 'design' }
方案2:用依赖树定位重复项
有时候光看自己写的依赖找不到问题,那就让Gradle帮你揪出根源:
- 在Android Studio底部的Terminal里敲这个命令:
./gradlew app:dependencies - 搜索
com.android.support:design,看看所有出现的条目,是不是有不同版本或者被多个库重复引入的情况,找到后针对性排除就行。
方案3:清理缓存+重建项目
有时候缓存抽风也会搞出这种问题,试试这套组合拳:
- 点击顶部工具栏的
Build->Clean Project - 接着点
Build->Rebuild Project - 要是还不行,手动删掉项目根目录的
.gradle文件夹和app/build文件夹,然后重新同步项目(点击右上角的Sync Project with Gradle Files按钮)
方案4:检查Manifest的合并冲突
你提供的Manifest内容不全,但也得留意:
- 确保自己没在Manifest里重复声明组件(比如同一个Activity写了两遍)
- 可以通过
Tools->Android->Merge Manifest查看合并后的完整Manifest,看看有没有第三方库Manifest带来的冲突项。
内容的提问来源于stack exchange,提问作者Priyambad Singh
相关产品推荐
相关产品推荐

