Dan*_*nai 7 android kotlin kotlin-android-extensions
Kotlin Android扩展插件会为每个视图生成静态属性,并带有我的应用布局文件中的ID,如文档所述。
我想禁用此功能,因为我们使用DataBinding而不是Kotlin综合视图属性,有时我是无意中导入它们的;还会增加一些我们不使用的东西的额外构建开销。
无法禁用Android扩展插件,因为我们使用了由同一插件完成的Parcelize功能。
kyh*_*ule 22
DSL 中有一个features属性androidExtensions允许您提供要启用的功能列表。目前,只有两个可用,parcelize和views。要禁用综合视图属性,请将其添加到您的build.gradle:
android {
// ...
}
androidExtensions {
features = ["parcelize"]
}
Run Code Online (Sandbox Code Playgroud)
资料来源:https : //github.com/JetBrains/kotlin/blob/6bef27e1e889b17ae84dd2ff99881727f13ac3e5/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/AndroidComponentRegistrar.kt
如今,android-extensions 插件已停产,因此最好的解决方案是通过apply plugin: 'kotlin-android-extensions'从build.gradle.
我们应该使用ViewBinding或DataBinding而不是合成。
由于在第一个链接解释的,如果您还使用parcelizer,你只需要改变android-extensions插件kotlin-parcelize,改变import语句import kotlinx.android.parcel.Parcelize用于import kotlinx.parcelize.Parcelize任何需要。
有关从 android-extensions 迁移到 JetPack 的更多信息,请点击此处。
| 归档时间: |
|
| 查看次数: |
492 次 |
| 最近记录: |