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)已不再发布到公开仓库。
解决步骤
确保仓库配置正确
在项目根目录的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匹配 } }应用KAPT插件(Kotlin项目必做)
在App模块的build.gradle中,确保已应用kotlin-kapt插件,DataBinding需要它来处理注解:plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-kapt' // 必须添加这一行 }移除手动添加的databinding-compiler依赖
检查你的dependencies块,如果有类似下面的代码,直接删除:// 删掉这行,不需要单独依赖 kapt 'androidx.databinding:databinding-compiler:7.2.1'清理缓存并重新构建
执行以下命令清理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
相关产品推荐
相关产品推荐

