android 尝试使用viewbinding时出现MissingMethodException

but5z9lq  于 2023-06-04  发布在  Android
关注(0)|答案(3)|浏览(603)

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

第一步:

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 { }的模块:app中。
知道为什么会这样吗

fdx2calv

fdx2calv1#

您需要将Android Gradle插件版本提升到3.6.0(或更高):

// Android Gradle Plugin 3.6.0
android {
    viewBinding {
        enabled = true
    }
}

或者:

// Android Gradle Plugin 4.0
android {
    buildFeatures {
        viewBinding = true
    }
}
rkttyhzu

rkttyhzu2#

我在我的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'

所有的工作都如预期的那样,希望这个答案对你的问题有用

8cdiaqws

8cdiaqws3#

在我的例子中,当我将versionName值添加到buildTypes时,Android Studio中似乎发生了这种情况。当在defaultConfig中设置时,它不会产生问题。我不能说我对此有任何解释,因为关于版本控制的文档表明这是可以的,甚至是可取的。

相关问题