Android Studio项目构建失败:Kotlin依赖类重复问题求助
Kotlin标准库版本冲突导致构建失败的解决方法
问题本质
你遇到的checkDebugDuplicateClasses任务失败,核心原因是项目依赖中同时混入了不同版本的Kotlin标准库(如1.8.20和1.6.21),两个版本包含重复类。这和Activity Bug无关,也不是缺少依赖,属于依赖版本不一致的典型问题。
解决步骤
1. 统一全局Kotlin版本
在项目根目录的build.gradle(或build.gradle.kts)中,强制所有模块使用同一版本的Kotlin库:
// 根目录build.gradle buildscript { ext { kotlin_version = "1.8.20" // 选择你要统一的目标稳定版本 } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { // 保留原有仓库配置即可 } // 强制所有依赖使用指定版本的Kotlin标准库 configurations.all { resolutionStrategy { force "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" } } }
2. 定位并排除冲突依赖
执行Gradle命令查看完整依赖树,找到引入旧版本Kotlin库的第三方依赖:
./gradlew app:dependencies
在结果中搜索带有1.6.21的Kotlin标准库条目,定位到对应的第三方依赖后,在模块的build.gradle中排除该依赖携带的旧版Kotlin库:
// 示例:排除某第三方依赖中的旧版Kotlin库 dependencies { implementation("com.example:third-party-lib:1.0.0") { exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib' exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8' } }
3. 清理缓存并重建
执行以下命令清理Gradle缓存,确保旧版本依赖被完全移除:
./gradlew clean build --refresh-dependencies
额外检查
- 检查模块
build.gradle中是否手动引入了不同版本的Kotlin标准库,避免同时声明不同版本的kotlin-stdlib相关依赖 - 若使用Android Studio,执行
File -> Invalidate Caches... -> Invalidate and Restart,清理IDE缓存
内容的提问来源于stack exchange,提问作者MrIzzat
相关产品推荐
相关产品推荐

