Android构建报错:kotlin-stdlib类重复冲突问题
解决Kotlin标准库类重复冲突的方案
问题根源
构建失败是因为项目同时引入了Kotlin标准库1.8.10和kotlin-stdlib-jdk8-1.7.0,两者包含完全相同的kotlin.collections.jdk8.CollectionsJDK8Kt类,导致重复冲突。本质是Kotlin版本不统一:根目录配置的Kotlin插件是1.7.0,但部分依赖(比如Compose)自动拉取了更高版本的标准库,同时残留了旧版本的JDK8适配库。
具体解决步骤
1. 统一Kotlin插件版本
根目录build.gradle中,将Kotlin Android插件版本升级到与Compose兼容的1.8.10(Compose 1.4.3推荐搭配Kotlin 1.8.0+,compose compiler 1.2.0对应Kotlin 1.8.0-1.8.20):
plugins { id 'com.android.application' version '8.0.2' apply false id 'com.android.library' version '8.0.2' apply false // 修改Kotlin插件版本为1.8.10 id 'org.jetbrains.kotlin.android' version '1.8.10' apply false id 'com.google.dagger.hilt.android' version '2.44' apply false }
2. 强制所有依赖使用统一的Kotlin标准库版本
在App模块build.gradle中添加依赖解析策略,强制所有Kotlin核心库使用同一版本,彻底避免依赖树中出现版本冲突:
android { // 保留原有配置... configurations.all { resolutionStrategy { force 'org.jetbrains.kotlin:kotlin-stdlib:1.8.10' force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10' } } }
3. (可选)清理冗余依赖
如果某个第三方依赖主动引入了旧版本Kotlin库,可直接在依赖声明中排除:
implementation('问题依赖的完整坐标') { exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8' }
验证解决
修改完成后,执行./gradlew clean build清理缓存并重新构建,即可解决重复类导致的构建失败问题。
内容的提问来源于stack exchange,提问作者João manoel
相关产品推荐
相关产品推荐

