Android Studio创建Java新项目遇CheckDebugDuplicateClasses错误求助
解决Android Studio创建Java项目时
:app:checkDebugDuplicateClasses失败问题 问题本质
这个错误的核心是项目依赖中同时混入了两个不同版本的Kotlin标准库:kotlin-stdlib-1.8.0和kotlin-stdlib-jdk7/8-1.6.21,二者包含大量重复类,触发了Gradle的重复类检查机制导致报错。
- 哪怕是Java项目,Android Studio默认模板、AGP(Android Gradle插件)或者第三方依赖也会自动引入Kotlin相关库,不同依赖源拉取不同版本就会造成冲突。
- 重置IDE默认设置没用,因为问题出在项目的依赖配置上,和IDE全局设置无关。
解决办法
1. 统一全局Kotlin版本
在项目根目录的build.gradle(Project级)中,强制指定统一的Kotlin版本,覆盖所有依赖的版本:
buildscript { ext { kotlin_version = "1.8.0" // 和冲突中的高版本保持一致,避免兼容性问题 } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
同时在app模块的build.gradle中,确保直接引入的Kotlin依赖使用统一版本:
dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" }
2. 排查并排除冲突依赖
用Gradle命令查看完整依赖树,定位引入旧版本Kotlin库的来源:
在Android Studio的Terminal中执行:
./gradlew app:dependencies
搜索kotlin-stdlib-jdk7或kotlin-stdlib-jdk8,找到对应的第三方依赖后,在dependencies中排除该依赖的旧版本Kotlin库,示例如下:
dependencies { // 替换为你实际找到的冲突依赖 implementation 'com.example:some-third-party-lib:1.0.0' { exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk7' exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8' } }
3. 强制统一所有Kotlin依赖版本(可选)
如果不想逐个排查依赖,可以在根目录build.gradle中添加强制版本规则,让所有Kotlin相关依赖自动使用指定版本:
subprojects { configurations.all { resolutionStrategy { force "org.jetbrains.kotlin:kotlin-stdlib:1.8.0" force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0" force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0" } } }
4. 清理缓存重新构建
执行以下命令清理Gradle缓存,再重新构建项目:
./gradlew clean ./gradlew assembleDebug
内容的提问来源于stack exchange,提问作者Nitish Kumar
相关产品推荐
相关产品推荐

