You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中Gradle构建失败:Kotlin重复类问题求助

解决Kotlin重复类构建错误

这个问题的核心是Kotlin版本不一致,且高版本的kotlin-stdlib已经整合了kotlin-stdlib-jdk8的功能,单独引入低版本jdk8模块会导致类重复冲突。

具体解决步骤:

  1. 统一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'
    }
    
  2. 移除多余的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。

  3. 排查第三方依赖的版本冲突
    如果还有报错,说明某个第三方依赖偷偷引入了低版本的kotlin-stdlib-jdk8。执行以下命令查看依赖树:

    ./gradlew :你的模块名:dependencies
    

    找到引入kotlin-stdlib-jdk8:1.6.0的依赖,在对应的依赖配置中排除它:

    implementation('第三方依赖坐标') {
        exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
    }
    
  4. 同步并重新构建
    执行./gradlew clean build清理缓存后重新构建项目。

为什么你之前的排除没用?

你之前的配置是排除kotlin-stdlib,但问题根源是kotlin-stdlib-jdk8:1.6.0和kotlin-stdlib:1.8.10包含重复类,应该直接移除低版本的jdk8模块,而不是排除stdlib。

内容的提问来源于stack exchange,提问作者Derek Kensinger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 11:08:13