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

如何解决Android编译错误:':app:checkDebugDuplicateClasses'任务执行失败

解决Android DataBinding重复类编译错误的思路

这是典型的DataBinding依赖版本冲突问题,新旧版本的DataBinding库包含重复类,导致编译任务checkDebugDuplicateClasses失败。以下是针对性的解决步骤:

  • 统一DataBinding依赖版本
    项目中同时存在8.2.1和3.2.0-alpha11两个版本的DataBinding库,是冲突的核心原因。建议在项目根目录的build.gradle.kts中统一管理版本:

    buildscript {
        ext {
            databindingVersion = "8.2.1" // 使用与AGP匹配的稳定版本
        }
    }
    

    然后在模块的build.gradle.kts中,所有DataBinding相关依赖都引用这个统一版本:

    dependencies {
        implementation("androidx.databinding:databinding-runtime:$databindingVersion")
        // 其他如baseLibrary等DataBinding依赖也使用该版本
    }
    
  • 排查并排除冲突的旧依赖
    用Gradle依赖分析命令定位引入旧版本DataBinding的依赖:

    ./gradlew app:dependencies
    

    在输出结果中找到包含androidx.databinding:library:3.2.0-alpha11的依赖项,然后在模块的build.gradle.kts中排除该冲突依赖:

    implementation("冲突依赖的完整坐标") {
        exclude(group = "androidx.databinding", module = "library")
        exclude(group = "androidx.databinding", module = "baseLibrary")
    }
    
  • 匹配AGP与DataBinding版本
    DataBinding版本必须和Android Gradle Plugin(AGP)版本保持一致,比如AGP 8.2.x对应DataBinding 8.2.x。检查项目根build.gradle.kts中的AGP版本:

    plugins {
        id("com.android.application") version "8.2.1" apply false
        id("org.jetbrains.kotlin.android") version "1.9.20" apply false
    }
    
  • 清理缓存并重新构建
    执行命令清理Gradle缓存,避免旧缓存导致的问题:

    ./gradlew clean
    ./gradlew build --refresh-dependencies
    

    也可以手动删除项目根目录的.gradle文件夹和模块下的build文件夹后,重新执行构建。

  • 确认kapt配置正确性
    确保模块的build.gradle.kts中正确启用DataBinding和kapt插件:

    plugins {
        id("com.android.application")
        id("org.jetbrains.kotlin.android")
        id("kotlin-kapt")
    }
    
    android {
        buildFeatures {
            dataBinding = true
        }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 05:25:04