我正在做一个大项目,我正试图使用两种不同的方法添加视图绑定:
第一步:
buildFeatures {
viewBinding true
}
第二个问题:
viewBinding {
enabled true
}
在这两种情况下,我都得到了Caused by: groovy.lang.MissingMethodException: No signature of method: build_4xgux05b5phesnrai6p6fg7vc.android() is applicable for argument types: (build_4xgux05b5phesnrai6p6fg7vc$_run_closure3) values: [build_4xgux05b5phesnrai6p6fg7vc$_run_closure3@5e534db6]
我把这个放在我的模块:应用程序的android { }
中。
知道为什么会发生这种事吗?
您需要将android gradle插件版本提高到3.6.0(或更高版本(:
// Android Gradle Plugin 3.6.0
android {
viewBinding {
enabled = true
}
}
或者:
// Android Gradle Plugin 4.0
android {
buildFeatures {
viewBinding = true
}
}
我在Android Studio上遇到了同样的问题,我所做的是修复它:
之前
android {
...
}
我检查插件字段,即:
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
id 'kotlin-kapt' <- this one is when you need to use databinding I think
}
为了解决这个问题,我只添加了行
id 'kotlin-android-extensions'
所有的工作都如预期,希望这个答案对你的问题有用
在我的例子中,当我将versionName值添加到我的buildTypes时,这似乎发生在Android Studio中。在defaultConfig中设置时不会产生问题。我不能说我对此有任何解释,因为版本控制文档表明这是可以的,甚至是可取的。