生成签名APK时出现CoordinatorLayout重复条目错误求助
解决Jar合并时的重复类错误(CoordinatorLayout$1.class)
这个错误我碰到过好多次,本质就是你的项目里重复引入了android support design库中的同一个类,大概率是不同依赖库间接拉了该库的不同版本,或者你自己不小心加了多份同类型依赖。给你几个靠谱的解决步骤:
先排查依赖树,找到重复根源
打开终端,在项目根目录执行命令:# Mac/Linux ./gradlew app:dependencies # Windows gradlew.bat app:dependencies在输出结果里搜索
com.android.support:design,看看哪些第三方依赖(比如你用到的butterknife或者其他库)引入了它,有没有多个版本并存的情况。排除重复的依赖引用
如果发现某个第三方库间接引入了和你项目主版本不一致的design库,就在该依赖里手动排除它:implementation('com.jakewharton:butterknife:10.2.3') { // 替换成你实际用的依赖 exclude group: 'com.android.support', module: 'design' }或者更省心的方式,在项目根目录的
build.gradle里强制统一所有support库的版本,避免版本冲突:allprojects { repositories { // 你的仓库配置,比如google()、jcenter()之类的 } configurations.all { resolutionStrategy { // 替换成你项目正在使用的support design版本,比如28.0.0 force 'com.android.support:design:28.0.0' } } }检查自己的依赖声明
打开app/build.gradle,确保你没有重复声明com.android.support:design的不同版本,比如同时写了implementation 'com.android.support:design:27.1.1'和implementation 'com.android.support:design:28.0.0'这种情况。清理后重新构建
执行清理命令:./gradlew clean然后再尝试生成签名APK,一般就能解决问题了。
另外提个醒:如果你的项目已经迁移到AndroidX,一定要确保所有依赖都换成AndroidX版本,别同时混着用support库和AndroidX库,这也会导致类似的类重复冲突。
内容的提问来源于stack exchange,提问作者Martin P
相关产品推荐
相关产品推荐

