Надеясь, что кто-то может объяснить, почему привязка данных для модуля , кажется, не работает (возвращает ноль), когда определенный модуль (и) объявлен как runtimeOnly
против, когда он объявлен как implementation
.
например
Скажем, у меня есть некоторые функциональные модули, которые я хочу включить или исключить (аналогично динамическим функциональным модулям), за исключением того, что сейчас я не использую их по другим причинам. не буду вдаваться, это скорее эксперимент. Таким образом, идея заключалась в том, чтобы отделить несколько компонентов от основного приложения, которые доступны только во время выполнения, иными словами, виртуальное отсутствие связи между приложением и какими-либо дополнительными функциями, и это будет работать до тех пор, пока я не добавлю привязку данных в смесь. сбой с *Binding cannot be null
.
Единственный способ, с помощью которого я получил эту настройку, - это переключение обратно с runtimeOnly
на implementation
и, насколько мне известно, разница между runtimeOnly
и impelentation
на веб-сайте gradle :
Итак, мой вопрос: почему это происходит? Требуется ли для модуля привязки данных в модулях значение implementation
? Или, возможно, я все делаю неправильно и неправильно понял цель runtimeOnly
.
Заранее благодарю, и извиняюсь, если вопрос не достаточно исчерпывающий