如何禁用 Kotlin Android 扩展插件生成合成视图属性
How to disable the generating of synthetic view properties by the Kotlin Android extensions plugin
Kotlin Android Extensions 插件使用我的应用程序布局文件中的 ID 为每个视图生成静态属性,如 the documentation 中所述。
我想禁用此功能,因为我们使用 DataBinding 而不是 Kotlin 合成视图属性,有时我会不小心导入它们;它还为我们不使用的东西增加了额外的构建开销。
无法禁用 Android 扩展插件,因为我们使用了由同一插件完成的 Parcelize 功能。
androidExtensions
DSL 中有一个 features
属性,允许您提供要启用的功能列表。目前,只有两个可用,parcelize
和 views
。要禁用合成视图属性,请将其添加到您的 build.gradle
:
android {
// ...
}
androidExtensions {
features = ["parcelize"]
}
如今,android-extensions 插件是 discontinued,因此最好的解决方案是通过从 build.gradle
.[=19 中删除 apply plugin: 'kotlin-android-extensions'
来删除此插件=]
我们应该使用 ViewBinding or DataBinding.
而不是合成材料
如第一个 link 中所述,如果您还使用 parcelizer,则只需将 android-extensions
插件更改为 kotlin-parcelize
并更改导入语句 import kotlinx.android.parcel.Parcelize
import kotlinx.parcelize.Parcelize
需要的地方。
有关从 android 扩展迁移到 JetPack here 的更多信息。
Kotlin Android Extensions 插件使用我的应用程序布局文件中的 ID 为每个视图生成静态属性,如 the documentation 中所述。
我想禁用此功能,因为我们使用 DataBinding 而不是 Kotlin 合成视图属性,有时我会不小心导入它们;它还为我们不使用的东西增加了额外的构建开销。
无法禁用 Android 扩展插件,因为我们使用了由同一插件完成的 Parcelize 功能。
androidExtensions
DSL 中有一个 features
属性,允许您提供要启用的功能列表。目前,只有两个可用,parcelize
和 views
。要禁用合成视图属性,请将其添加到您的 build.gradle
:
android {
// ...
}
androidExtensions {
features = ["parcelize"]
}
如今,android-extensions 插件是 discontinued,因此最好的解决方案是通过从 build.gradle
.[=19 中删除 apply plugin: 'kotlin-android-extensions'
来删除此插件=]
我们应该使用 ViewBinding or DataBinding.
而不是合成材料如第一个 link 中所述,如果您还使用 parcelizer,则只需将 android-extensions
插件更改为 kotlin-parcelize
并更改导入语句 import kotlinx.android.parcel.Parcelize
import kotlinx.parcelize.Parcelize
需要的地方。
有关从 android 扩展迁移到 JetPack here 的更多信息。