Kotlin Android Extensions插件会为我们在应用布局文件中每个带有ID的视图生成静态属性,如文档所述。
我想禁用这个功能,因为我们使用DataBinding而不是Kotlin合成视图属性,有时我会意外地导入它们;此外,它增加了我们不使用的额外构建负担。
由于我们使用相同的插件进行Parcelize功能,所以无法禁用Android扩展插件。
Kotlin Android Extensions插件会为我们在应用布局文件中每个带有ID的视图生成静态属性,如文档所述。
我想禁用这个功能,因为我们使用DataBinding而不是Kotlin合成视图属性,有时我会意外地导入它们;此外,它增加了我们不使用的额外构建负担。
由于我们使用相同的插件进行Parcelize功能,所以无法禁用Android扩展插件。
androidExtensions
DSL 中有一个 features
属性,允许您提供要启用的功能列表。目前只有两个可用的功能:parcelize
和 views
。 如果要禁用合成视图属性,请将以下内容添加到您的 build.gradle
文件中:
android {
// ...
}
androidExtensions {
features = ["parcelize"]
}
androidExtensions
是一个顶级闭包,这意味着它在android
闭包之外。 - CommonsWarebuild.gradle
中删除apply plugin: 'kotlin-android-extensions'
来删除该插件。
不再使用合成,我们应该使用ViewBinding或DataBinding。
如第一个链接所述,如果您还在使用parcelizer,则只需要将android-extensions
插件更改为kotlin-parcelize
,并在需要的地方将导入语句import kotlinx.android.parcel.Parcelize
更改为import kotlinx.parcelize.Parcelize
。
有关从android-extensions迁移到JetPack的详细信息请点击这里。