groovy.lang.MissingMethodException 尝试使用视图绑定时

groovy.lang.MissingMethodException when trying to use viewbinding

我正在做一个大项目,我正在尝试使用两种不同的方法添加视图绑定:

第一种方法:

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 { } 里面 module:app。

知道为什么会这样吗?

您需要将 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'

一切正常,希望这个答案对您的问题有用