Android项目构建遇Kotlin重复类错误,Gradle同步正常
解决Kotlin标准库重复类错误
问题根源
项目存在Kotlin标准库版本冲突:部分依赖引入了kotlin-stdlib-jdk7:1.7.20和kotlin-stdlib-jdk8:1.7.20,而另一部分依赖(或Android Gradle插件)引入了kotlin-stdlib:1.8.10。Kotlin 1.8+版本已将jdk7/jdk8模块内容合并到主kotlin-stdlib中,同时存在两类库会触发重复类错误。
解决方案
1. 统一Kotlin版本并配置依赖约束
修改项目级build.gradle,添加Kotlin插件并通过约束强制所有Kotlin相关库使用同一版本:
plugins { id 'com.android.application' version '7.3.0' apply false id 'com.android.library' version '7.3.0' apply false id 'org.jetbrains.kotlin.android' version '1.8.10' apply false } allprojects { configurations.all { resolutionStrategy { force 'org.jetbrains.kotlin:kotlin-stdlib:1.8.10' force 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.10' force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10' } } }
2. 模块级build.gradle应用Kotlin插件
在模块级build.gradle中添加Kotlin插件:
plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' }
3. 排查冲突来源(可选)
执行以下命令查看依赖树,定位引入旧版本Kotlin库的依赖:
./gradlew app:dependencies
找到对应依赖后,可通过exclude语法移除旧版本依赖,示例:
implementation('存在冲突的依赖') { exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk7' exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8' }
4. 清理缓存并重新构建
- 点击Android Studio菜单栏
File -> Invalidate Caches... -> Invalidate and Restart - 或终端执行:
./gradlew clean build
内容的提问来源于stack exchange,提问作者Nevil Gorasiya
相关产品推荐
相关产品推荐

