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

Android启用DataBinding后引入SSImagePicker库编译失败如何解决?

Android:启用DataBinding后编译报错找不到androidx.databinding:databinding-compiler:7.2.1

问题原因

从Android Gradle Plugin(AGP)4.0版本开始,DataBinding编译器已经集成到AGP内部,不再需要单独声明androidx.databinding:databinding-compiler依赖。你遇到的报错是因为Gradle尝试去仓库寻找已被废弃的独立编译器包,而该包在高版本(如7.2.1)已不再发布到公开仓库。

解决步骤

  1. 确保仓库配置正确
    在项目根目录的build.gradle(或settings.gradle的pluginManagement块)中,必须包含google()仓库,AGP相关依赖只能从这里获取:

    buildscript {
        repositories {
            google()
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:7.2.1'
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10" // 版本需与AGP匹配
        }
    }
    
  2. 应用KAPT插件(Kotlin项目必做)
    在App模块的build.gradle中,确保已应用kotlin-kapt插件,DataBinding需要它来处理注解:

    plugins {
        id 'com.android.application'
        id 'kotlin-android'
        id 'kotlin-kapt' // 必须添加这一行
    }
    
  3. 移除手动添加的databinding-compiler依赖
    检查你的dependencies块,如果有类似下面的代码,直接删除:

    // 删掉这行,不需要单独依赖
    kapt 'androidx.databinding:databinding-compiler:7.2.1'
    
  4. 清理缓存并重新构建
    执行以下命令清理Gradle缓存并强制刷新依赖:

    # Mac/Linux
    ./gradlew clean build --refresh-dependencies
    
    # Windows
    gradlew clean build --refresh-dependencies
    

    或者在Android Studio中点击File -> Invalidate Caches...,勾选Invalidate and Restart重启IDE。

验证配置

最终App模块的buildFeatures配置保持不变即可:

buildFeatures {
    viewBinding true
    dataBinding true
}

内容的提问来源于stack exchange,提问作者Dr.KeyOk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 03:40:40