【问题标题】:When I add viewBinding in gradle in Android Studio, it comes an error当我在 Android Studio 的 gradle 中添加 viewBinding 时,出现错误
【发布时间】:2020-07-17 10:07:09
【问题描述】:

我使用的是 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
}

错误:

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

为什么会出现这个错误?

我该如何解决这个错误?

【问题讨论】:

  • 显示你的项目级 build.gradle

标签: android android-gradle-plugin android-viewbinding


【解决方案1】:

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

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

那么你可以使用:

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

如果你使用的是android gradle plugin 3.6,你可以使用:

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

}

【讨论】:

    【解决方案2】:

    根据documentation启用视图绑定

        buildFeatures {
            viewBinding true
        }
    

    因此,去掉“=”。

    【讨论】:

      【解决方案3】:

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

      buildFeatures{
              dataBinding = true
              viewBinding = true
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-07-28
        • 2016-07-14
        • 2013-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-18
        相关资源
        最近更新 更多