Android Studio 3.2 Canary 16 Kotlin项目找不到DataBindingComponent
嘿,我看了你遇到的这个编译错误,核心原因其实很明确——你的Data Binding Compiler版本和Android Gradle插件(AGP)版本不匹配,再加上Kotlin项目对注解处理器的特殊要求,才导致了DataBindingComponent找不到的问题。
问题出在哪?
你看构建输出里的提示已经很明显了:
app: 'annotationProcessor' dependencies won't be recognized as kapt annotation processors. Please change the configuration name to 'kapt' for these artifacts: 'androidx.databinding:databinding-compiler:3.2.0-alpha16'.
你用的AGP是3.2.0-alpha16,但给kapt配置的Data Binding Compiler却是3.1.2,版本对不上的话,生成的绑定类依赖的组件自然找不到;不过好在你已经用了kapt而不是annotationProcessor,这部分是对的,就是版本错了。
怎么解决?
按下面几步来改就行:
1. 移除单独的Data Binding Compiler依赖(推荐)
从AGP 3.2版本开始,Data Binding Compiler已经集成到Android Gradle插件里了,完全不需要再单独写kapt "com.android.databinding:compiler:x.x.x"这行依赖。直接删掉这行,让插件自动用匹配的版本就好。
2. 若要保留依赖,需保证版本与AGP一致
如果你还是想手动声明这个依赖,那必须把版本改成和AGP一模一样的3.2.0-alpha16:
kapt "com.android.databinding:compiler:3.2.0-alpha16"
3. 最后同步+清理项目
- 点击Android Studio工具栏的Sync Project with Gradle Files按钮同步配置
- 执行
clean和rebuild操作,彻底清除旧的构建缓存
额外确认点(你已做对,再检查更稳妥)
- 模块gradle里已经正确应用了
kotlin-kapt插件(没问题) - 布局文件确实用了
<layout>作为根标签(你的XML也没问题)
改完这些,那个DataBindingComponent找不到的错误肯定就消失啦!
内容的提问来源于stack exchange,提问作者juliano.net




