如the documentation中所述,Kotlin Android扩展插件会通过我的应用布局文件中的ID为每个视图生成静态属性。
我想禁用此功能,因为我们使用DataBinding而不是Kotlin合成视图属性,有时我是无意中导入了这些属性;还会为我们不使用的东西增加额外的构建开销。
无法禁用Android扩展插件,因为我们使用了由同一插件完成的Parcelize功能。
答案 0 :(得分:4)
现在,android-extensions 插件是 discontinued,因此最好的解决方案是通过从您的 apply plugin: 'kotlin-android-extensions'
中删除 build.gradle
来删除此插件。
我们应该使用 ViewBinding 或 DataBinding 代替合成。
如第一个链接中所述,如果您还使用了parcelizer,则只需将android-extensions
插件更改为kotlin-parcelize
并将导入语句import kotlinx.android.parcel.Parcelize
更改为{{1} } 任何需要的地方。
有关从 android-extensions 迁移到 JetPack here 的更多信息。
答案 1 :(得分:2)
features
DSL中有一个androidExtensions
属性,可让您提供要启用的功能列表。当前,只有两个可用的parcelize
和views
。要禁用综合视图属性,请将其添加到您的build.gradle
:
androidExtensions {
features = ["parcelize"]
}