启用viewBinding功能失败(Android Studio 3.6)

Agn*_*mon 5 binding android android-studio android-databinding

我已经安装了Android Studio 3.6 Canary 12,并且想要使用该viewBinding功能

根据文档,我将此代码放入了build.gradle(应用模块)

android {
   ...
   viewBinding.enabled = true
   ...
}
Run Code Online (Sandbox Code Playgroud)

但是我得到这个错误

A problem occurred evaluating project ':app'.
> Could not get unknown property 'viewBinding' for object of type com.android.build.gradle.internal.dsl.BaseAppModuleExtension.
Run Code Online (Sandbox Code Playgroud)

需要帮忙 !谢谢 !

Pra*_*ani 5

官方网站所示

把它像:

android {
    ...
    viewBinding {
        enabled = true
    }
}
Run Code Online (Sandbox Code Playgroud)

也请检查您的 Android Studio 版本,它必须是3.6 Canary 11+.

还要检查 Gradle 插件 - Android Gradle Plugin 3.6.0-alpha12

注意:视图绑定在Android Studio 3.6 Canary 11+ 中可用


Agn*_*mon 5

感谢你的支持 !

我已经解决了使用 Android Gradle Plugin 3.6.0-alpha12

  • FWIW,我写了[一篇博客文章](https://commonsware.com/blog/2019/09/22/view-binding-android-studio-versions.html),其中包含更多相关内容。 (2认同)

Gui*_*lva 5

如果您使用 Android Gradle 插件 >= 4.0.0-alpha05,有些事情会发生一些变化。

viewBinding.enabled = true现已弃用

您应该改用 AndroidbuildFeatures块:

android {
    buildFeatures {
        // Determines whether to support View Binding.
        // Note that the viewBinding.enabled property is now deprecated.
        viewBinding = true
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您希望在所有模块中默认启用该功能,您可以在以下位置打开它gradle.properties

android.defaults.buildfeatures.viewBinding=true
Run Code Online (Sandbox Code Playgroud)

文档:https://developer.android.com/studio/preview/features/#4.0