Android Studio重复类问题求助:依赖冲突致构建失败
Android项目构建失败:重复类错误处理
问题背景
从模板创建项目后,参照教程完成首个Activity开发并添加组件,同时引用src/backgrounds下的PNG文件作为背景,应用初始运行正常。但在添加资源文件并向Gradle注入依赖后,构建失败,报错如下:
Duplicate class android.support.v4.app.INotificationSideChannel found in modules core-1.9.0-runtime (androidx.core:core:1.9.0) and support-v4-22.2.0-runtime (com.android.support:support-v4:22.2.0) Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules core-1.9.0-runtime (androidx.core:core:1.9.0) and support-v4-22.2.0-runtime (com.android.support:support-v4:22.2.0) Duplicate class android.support.v4.app.INotificationSideChannel$Stub$Proxy found in modules core-1.9.0-runtime (androidx.core:core:1.9.0) and support-v4-22.2.0-runtime (com.android.support:support-v4:22.2.0)
已尝试的方法
- 添加
android.enableJetfier=true配置 - 将
org.gradle.jvmargs内存调整至4GB以上 - 重构清理未使用资源
- 迁移至AndroidX(无效果)
解决方案
1. 定位并排除冲突依赖
项目同时引入了AndroidX(androidx.core:core)和旧版Support库(com.android.support:support-v4),导致类重复。
- 执行Gradle命令查看完整依赖树:
# macOS/Linux ./gradlew app:dependencies # Windows gradlew.bat app:dependencies - 在输出中找到引入
com.android.support:support-v4:22.2.0的依赖项,在Module级别的build.gradle中排除该依赖:implementation('引发冲突的依赖坐标') { exclude group: 'com.android.support', module: 'support-v4' }
2. 确保AndroidX迁移完全生效
检查项目根目录的gradle.properties文件,确认以下配置正确:
android.useAndroidX=true android.enableJetifier=true
android.enableJetifier=true会自动将旧版Support库依赖转换为AndroidX版本,需确保该配置未被误修改。
3. 清理缓存并重新构建
- 执行Gradle清理构建命令:
# macOS/Linux ./gradlew clean build # Windows gradlew.bat clean build - 或在Android Studio中选择
File -> Invalidate Caches...,勾选Invalidate and Restart重置缓存后重新构建。
参考资源
- Android官方《解决依赖冲突》文档
- Android官方《AndroidX迁移指南》
内容的提问来源于stack exchange,提问作者Maciej Kajetan Chrzanowski
相关产品推荐
相关产品推荐

