Как отключить создание свойств синтетического вида с помощью плагина расширений Kotlin для Android - PullRequest
0 голосов
/ 14 января 2019

Плагин Kotlin Android Extensions генерирует статические свойства для каждого представления с идентификатором из файлов макета моего приложения, как описано в документации .

Я хотел бы отключить эту функцию, потому что мы используем DataBinding вместо свойств синтетического представления Kotlin, а иногда я импортирую их случайно; также добавляются дополнительные издержки на сборку для чего-то, что мы не используем.

Отключение плагина расширений Android невозможно, потому что мы используем функцию Parcelize, которую выполняет тот же плагин.

1 Ответ

0 голосов
/ 12 апреля 2019

В androidExtensions DSL есть свойство features, которое позволяет вам предоставить список функций, которые нужно включить. В настоящее время доступно только два, parcelize и views. Чтобы отключить свойства синтетического вида, добавьте это к вашему build.gradle:

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

...