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

Gradle构建报错::app:checkDebugDuplicateClasses任务执行失败

Gradle任务:app:checkDebugDuplicateClasses执行失败的解决办法

问题描述

执行Gradle任务:app:checkDebugDuplicateClasses失败,执行com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable时抛出异常,检测到多组重复类:

  • jetified-kotlin-stdlib-1.8.0(org.jetbrains.kotlin:kotlin-stdlib:1.8.0)与jetified-kotlin-stdlib-jdk8-1.7.20(org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.20)中存在重复类kotlin.collections.jdk8.CollectionsJDK8Kt
  • jetified-kotlin-stdlib-1.8.0与jetified-kotlin-stdlib-jdk7-1.7.21(org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)中存在重复类kotlin.internal.jdk7.JDK7PlatformImplementations及其内部类kotlin.internal.jdk7.JDK7PlatformImplementations$ReflectSdkVersion

核心原因

Kotlin标准库版本不统一:kotlin-stdlib使用1.8.0版本,但kotlin-stdlib-jdk7/kotlin-stdlib-jdk8仍停留在1.7.x版本,导致类文件重复冲突。

解决步骤

  1. 统一Kotlin标准库版本
    在项目根目录的build.gradle(Groovy语法)中统一指定版本:

    buildscript {
        ext {
            kotlin_version = "1.8.0"
        }
        dependencies {
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        }
    }
    

    若使用版本Catalog管理(settings.gradle):

    dependencyResolutionManagement {
        versionCatalogs {
            libs {
                version("kotlin", "1.8.0")
                library("kotlin-stdlib", "org.jetbrains.kotlin", "kotlin-stdlib").versionRef("kotlin")
                library("kotlin-stdlib-jdk7", "org.jetbrains.kotlin", "kotlin-stdlib-jdk7").versionRef("kotlin")
                library("kotlin-stdlib-jdk8", "org.jetbrains.kotlin", "kotlin-stdlib-jdk8").versionRef("kotlin")
                library("kotlin-gradle-plugin", "org.jetbrains.kotlin", "kotlin-gradle-plugin").versionRef("kotlin")
            }
        }
    }
    
  2. 同步模块依赖引用
    在app模块的build.gradle中,确保所有Kotlin标准库依赖使用统一版本:

    // 版本Catalog方式
    dependencies {
        implementation libs.kotlin.stdlib
        implementation libs.kotlin.stdlib.jdk7
        implementation libs.kotlin.stdlib.jdk8
        // 其他依赖...
    }
    
    // 直接指定版本方式
    dependencies {
        implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
    }
    
  3. 清理缓存并重新构建
    执行以下命令清理缓存后重新构建项目:

    ./gradlew clean
    ./gradlew assembleDebug
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 18:35:50