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

构建项目遇重复类错误:checkQualDebugDuplicateClasses失败

解决 Kotlin 重复类错误问题

错误原因

你遇到的 Duplicate class 错误是因为项目中同时存在不同版本的 Kotlin 标准库依赖:

  • 自动引入的 kotlin-stdlib:1.8.10
  • 旧版本的 kotlin-stdlib-jdk8:1.6.21

而你配置的 Kotlin 版本是 1.7.21,版本不一致导致类定义重复冲突。

解决方法

1. 统一所有 Kotlin 依赖版本

确保项目中所有 Kotlin 相关插件和依赖都使用指定的 1.7.21 版本:

项目根目录 build.gradle:

buildscript {
    ext {
        kotlin_version = '1.7.21'
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.android.tools.build:gradle:7.3.1'
    }
}

模块 build.gradle:

dependencies {
    // 使用统一版本的标准库
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    
    // Kotlin 1.6+ 版本中,stdlib 已包含 JDK8 扩展,无需单独引入 stdlib-jdk8
    // 若必须保留,需同步版本:implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
}

2. 强制依赖版本统一

若第三方依赖自动引入了其他版本的 Kotlin 库,通过 Gradle 解析策略强制统一版本:

项目根目录 build.gradle:

allprojects {
    configurations.all {
        resolutionStrategy {
            force "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
            force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
            force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
        }
    }
}

3. 排查并排除冲突依赖

运行以下命令查看依赖树,定位引入冲突版本的第三方依赖:

./gradlew your-module-name:dependencies

(替换 your-module-name 为你的模块名称,如 app)

找到冲突依赖后,通过 exclude 移除其自带的 Kotlin 库:

dependencies {
    implementation('com.example:problem-library:1.0') {
        exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
    }
}

完成上述操作后,清理并重新构建项目即可解决重复类问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 00:52:45