已添加org.jetbrains.kotlin.kapt插件仍无法启用dataBinding问题咨询
报错原因
- 第一个错误
Could not set unknown property 'enabled' for BuildType_Decorated{name=dataBinding}是高版本Android Gradle插件(AGP 7.0及以上)的配置写法变更导致的:旧版AGP支持在android块下直接声明dataBinding { enabled = true },该写法在高版本已经废弃,且你的配置逻辑触发了识别异常,系统会将dataBinding块识别为你自定义的构建类型(BuildType),自然找不到enabled属性。 - IDE提示未应用kotlin-kapt插件,是因为你的插件声明块存在拼写错误:你写的是
plugin { },正确的插件声明块是复数形式plugins { },拼写错误导致kapt插件没有被正确加载,IDE自然检测不到对应的插件配置。
修复方案
- 修正插件块拼写,确认kapt正确生效:
// 把单数的plugin改成复数plugins plugins { ... id 'org.jetbrains.kotlin.kapt' // 也可以写简写 id 'kotlin-kapt' 效果完全一致 }
- 替换dataBinding的配置写法,将其移到buildFeatures块中:
android { ... buildTypes { ... } // 新增buildFeatures块配置构建特性 buildFeatures { dataBinding true } }
kotlin-kapt与org.jetbrains.kotlin.kapt的区别
两者没有本质区别,是同一个插件的两种写法:
kotlin-kapt是官方提供的简写别名,需要你在项目级build.gradle或者settings.gradle的pluginManagement中配置了kotlin插件的版本、仓库映射后才能正常使用org.jetbrains.kotlin.kapt是插件的完整ID,不受项目配置限制,所有场景下都可以直接声明使用
内容的提问来源于stack exchange,提问作者AtomX
相关产品推荐
相关产品推荐

