Android Studio中Gradle构建失败:Kotlin重复类问题求助
解决Kotlin重复类构建错误
这个问题的核心是Kotlin版本不一致,且高版本的kotlin-stdlib已经整合了kotlin-stdlib-jdk8的功能,单独引入低版本jdk8模块会导致类重复冲突。
具体解决步骤:
统一Kotlin版本
确保项目中所有Kotlin相关插件和依赖使用同一个版本(比如报错里的1.8.10)。在根目录的build.gradle中统一配置版本:// 根build.gradle plugins { id 'org.jetbrains.kotlin.jvm' version '1.8.10' apply false } ext { kotlinVersion = '1.8.10' }移除多余的
kotlin-stdlib-jdk8依赖
直接删掉模块build.gradle中这一行:implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0")替换为对应版本的标准stdlib依赖(如果还没加的话):
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"注意:Kotlin 1.8.x的
kotlin-stdlib已经包含了jdk8的扩展函数,不需要再单独引入kotlin-stdlib-jdk8。排查第三方依赖的版本冲突
如果还有报错,说明某个第三方依赖偷偷引入了低版本的kotlin-stdlib-jdk8。执行以下命令查看依赖树:./gradlew :你的模块名:dependencies找到引入
kotlin-stdlib-jdk8:1.6.0的依赖,在对应的依赖配置中排除它:implementation('第三方依赖坐标') { exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8' }同步并重新构建
执行./gradlew clean build清理缓存后重新构建项目。
为什么你之前的排除没用?
你之前的配置是排除kotlin-stdlib,但问题根源是kotlin-stdlib-jdk8:1.6.0和kotlin-stdlib:1.8.10包含重复类,应该直接移除低版本的jdk8模块,而不是排除stdlib。
内容的提问来源于stack exchange,提问作者Derek Kensinger
相关产品推荐
相关产品推荐

