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

Android项目运行时Duplicate Class错误的排查与解决

解决Android项目中Kotlin标准库重复类冲突问题

问题描述

运行Android项目时触发Duplicate Class错误,具体报错显示:kotlin.collections.jdk8.CollectionsJDK8Kt类同时存在于kotlin-stdlib-1.8.21(org.jetbrains.kotlin:kotlin-stdlib:1.8.21)和kotlin-stdlib-jdk8-1.7.20(org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.20)中,导致依赖冲突。

尝试过的无效解决方式

  1. 尝试通过排除依赖解决冲突,添加了如下配置:
apply plugin: 'org.jetbrains.kotlin'
configurations {
    all {
        exclude group: "org.jetbrains.kotlin", module: "kotlin-stdlib-jdk8"
    }
}

但执行后触发错误:"Plugin with id 'org.jetbrains.kotlin' not found"。

  1. 移除上述插件声明后,又出现kotlin-stdlib与kotlin-stdlib-jdk7的重复类报错,问题仍未解决。

最终可行解决方案

在项目build.gradle的dependencies块中添加constraints配置,强制统一Kotlin标准库相关依赖的版本,确保所有依赖使用同一版本的kotlin-stdlib-jdk7和kotlin-stdlib-jdk8:

dependencies {
     constraints {
         implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") {
             because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib")
         }
         implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0") {
             because("kotlin-stdlib-jdk8 is now a part of kotlin-stdlib")
         }
     }
}

项目原插件配置

项目初始的build.gradle插件声明如下:

plugins {
        id 'com.android.application'
        id 'org.jetbrains.kotlin.android'
    }
    ...(原配置省略)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 01:06:59