出现了 Kotlin 标准库的版本冲突(1.8.22 和 1.6.21 同时存在),导致类重复,构建失败。

发布于:2025-06-25 ⋅ 阅读:(22) ⋅ 点赞:(0)

Caused by: java.lang.RuntimeException: Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.6.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21)
 

说明你的项目中 出现了 Kotlin 标准库的版本冲突(1.8.22 和 1.6.21 同时存在),导致类重复,构建失败。

你遇到的这个错误:

Caused by: java.lang.RuntimeException: Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules
jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22)
and
jetified-kotlin-stdlib-jdk8-1.6.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21)

说明你的项目中 出现了 Kotlin 标准库的版本冲突(1.8.22 和 1.6.21 同时存在),导致类重复,构建失败。


🧨 问题原因详解

Kotlin 标准库被拆分为多个模块(如 kotlin-stdlibkotlin-stdlib-jdk8 等),如果你:

  • 明确引入了一个版本(如 1.8.22),

  • 但某个依赖库又引入了另一个旧版本(如 1.6.21),

那么 Gradle 会把两个版本都拉进来,造成 类重复(Duplicate class)


✅ 解决方案

✅ 方法 1:统一 Kotlin 版本(推荐)

强制统一 Kotlin 版本为你项目中使用的版本(如 1.8.22):

build.gradle(Project) 顶部添加:
buildscript {
    ext.kotlin_version = '1.8.22'

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
build.gradle(Module) 添加:
dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
强制所有库使用相同 Kotlin 版本:
configurations.all {
    resolutionStrategy {
        force "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
        force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
    }
}

✅ 方法 2:检查哪个库引入了旧版 Kotlin

运行这个命令来追踪依赖树:

./gradlew app:dependencies --configuration releaseRuntimeClasspath

或者在 Android Studio 的 Gradle 工具视图中:

View > Tool Windows > Gradle > app > Tasks > help > dependencies

看看是不是哪个库(比如三方库)引入了 kotlin-stdlib-jdk8:1.6.21

一旦找到它,可以排除它(如下):

implementation('com.some.library:lib:1.0.0') {
    exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
}

✅ 方法 3:升级你的依赖库

如果是旧版库引入了 kotlin-stdlib-jdk8:1.6.21,升级该库可能就自动解决了。


✅ 最佳实践总结

项目 建议版本
Kotlin 版本 1.8.221.9.10(最新版)
AGP 版本 与 Kotlin 版本兼容,如 AGP 7.4+ 支持 Kotlin 1.8+
Gradle 版本 建议使用 7.4+

需要我帮你检查 dependencies 中哪个库引入了 kotlin-stdlib-jdk8:1.6.21 吗?只要你贴出 gradle dependencies 的输出或你项目依赖列表,我可以快速指出冲突源。


网站公告

今日签到

点亮在社区的每一天
去签到