android - 如何禁用 Kotlin Android 扩展插件生成合成 View 属性

标签 android kotlin kotlin-android-extensions

Kotlin Android Extensions 插件为每个 View 生成静态属性,并使用我的应用布局文件中的 ID,如 the documentation 中所述.

我想禁用此功能,因为我们使用 DataBinding 而不是 Kotlin 合成 View 属性,有时我会不小心导入它们;它还为我们不使用的东西增加了额外的构建开销。

无法禁用 Android 扩展插件,因为我们使用的是同一个插件完成的 Parcelize 功能。

最佳答案

androidExtensions DSL 中有一个 features 属性,可让您提供要启用的功能列表。目前,只有两个可用,parcelizeviews。要禁用合成 View 属性,请将其添加到您的 build.gradle:

android {
   // ...
}

androidExtensions {
    features = ["parcelize"]
}

来源:https://github.com/JetBrains/kotlin/blob/6bef27e1e889b17ae84dd2ff99881727f13ac3e5/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/AndroidComponentRegistrar.kt#L57

关于android - 如何禁用 Kotlin Android 扩展插件生成合成 View 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54184154/

相关文章:

android - 覆盖库中的可绘制对象

java - 由于在Android中解析JSON字符串响应而导致的错误

multithreading - 在 Kotlin Native 中,如何将对象保存在单独的线程中,并在不使用 C 指针的情况下从任何其他线程中改变其状态?

android - 有什么方法可以通过 kotlin-extensions 更改自动创建的 View 的名称?

android - 如何在 Anko DSL (Android) 中设置单选按钮的 layout_weight 值?

java - 如何使用java删除XML字符串

android - 在 Android 的后台线程上初始化 Firebase 是否安全?需要注意什么?

java - Android Studio "Variable is never used",但实际上被使用(BigInteger Problem, Unresolved reference )

kotlin - 是否可以动态更改实例的方法?

android - 用于 View 的 Kotlin 合成扩展