2

我正在使用 Android Studio 4.0.1 版。

当我添加 viewBinding 时,会出现错误。

在 gradle 中添加 viewBinding 时出错。

buildFeatures {
    viewBinding = true
}

build.gradle 文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.3"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 5
        versionName "1.2.0"
        resValue("string", "growingio_project_id", "8979dc98cc52320f")
        resValue("string", "growingio_url_scheme", "growing.1f3e3791e1d6aee5")
    }
    compileOptions {
        sourceCompatibility rootProject.ext.sourceCompatibilityVersion
        targetCompatibility rootProject.ext.targetCompatibilityVersion
    }

    buildFeatures {
        viewBinding = true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: "*.jar")
    implementation deps.swipeRevealLayout
    implementation deps.glide
    implementation deps.growingio
    implementation(deps.rxbus) {
        exclude group: 'com.jakewharton.timber', module: 'timber'
    }
    implementation deps.androidasync
    implementation deps.timber
}

错误 :

在 com.android.build.gradle.internal.dsl.BaseAppModuleExtension 类型的对象上找不到参数 [build_6zjavhoqnf2k7dfs2qrq542f3$_run_closure1$_closure5@6cd00094] 的方法 buildFeatures()。

为什么会出现这个错误?

我该如何解决这个错误?

4

3 回答 3

5

要在您的应用中使用buildFeatures,您build.gradle必须使用android gradle plugin 4.0.x

buildscript {
    //..
    dependencies {
        classpath "com.android.tools.build:gradle:4.0.0"
        //....
    }
}

然后你可以使用:

android {
    //...
    buildFeatures {
        viewBinding true
    }
}

如果您使用的是android gradle 插件 3.6,您可以使用:

android{
    //....
    viewBinding {
       enabled = true
    }

}
于 2020-07-18T10:18:53.563 回答
1

根据文档启用视图绑定

    buildFeatures {
        viewBinding true
    }

因此,摆脱“=”。

于 2020-07-17T12:13:33.877 回答
0

尝试添加“dataBinding = true”并同步项目

buildFeatures{
        dataBinding = true
        viewBinding = true
    }
于 2020-07-17T10:44:46.670 回答