Android Studio中Kotlin依赖重复类问题求助
解决Kotlin stdlib重复类冲突问题
问题原因
你遇到的kotlin.io.path等类重复报错,核心是项目同时引入了Kotlin标准库1.8.20版本和旧版kotlin-stdlib-jdk7/jdk8 1.7.20版本,两者类路径重叠导致冲突。从你的依赖列表看,最可能的诱因是androidx.databinding:baseLibrary:3.2.0-alpha11——这个版本过于老旧,依赖的Kotlin版本远低于core-ktx、Firebase库等其他依赖所关联的1.8.20版本。
解决步骤
1. 移除废弃的DataBinding依赖
androidx.databinding:baseLibrary是早期DataBinding的遗留依赖,现在AGP(Android Gradle Plugin)已完全集成DataBinding功能,无需单独引入。直接从dependencies中删除这一行:
implementation 'androidx.databinding:baseLibrary:3.2.0-alpha11'
2. 统一Kotlin版本
确保项目所有Kotlin相关依赖使用同一版本(建议和AGP版本匹配,或直接用1.8.20):
- 在项目根目录的
build.gradle中定义统一版本:
buildscript { ext { kotlin_version = "1.8.20" } // 其他原有配置 }
3. 强制使用新版Kotlin标准库
如果移除旧依赖后仍有冲突,可通过Gradle强制所有依赖使用指定版本的Kotlin stdlib。在模块级build.gradle的dependencies块上方添加:
configurations.all { resolutionStrategy { force "org.jetbrains.kotlin:kotlin-stdlib:1.8.20" force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20" force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20" } }
4. 定位冲突依赖(可选)
若想明确哪个依赖在引入旧版Kotlin,可运行Gradle命令查看完整依赖树:
# Mac/Linux ./gradlew app:dependencies # Windows gradlew.bat app:dependencies
搜索kotlin-stdlib相关条目,找到标注1.7.20的依赖后,在对应implementation行中添加排除:
implementation '冲突依赖的完整坐标' { exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk7' }
5. 清理重建项目
完成修改后:
- 点击工具栏「Sync Project with Gradle Files」同步配置
- 执行「Build > Clean Project」清理缓存
- 再执行「Build > Rebuild Project」重新构建
内容的提问来源于stack exchange,提问作者Okashi
相关产品推荐
相关产品推荐

