Макеты расширений Kotlin Android из библиотечного модуля не могут быть разрешены - PullRequest
0 голосов
/ 04 мая 2018

У меня есть мой buyer, seller модуль и common модуль. Немногие макеты, которые используются в модуле buyer и seller, помещаются в модуль common.

common -> layout_toolbar.xml
buyer -> activity_sell.xml ->

<LinearLayout>
    <include layout="@layout/layout_toolbar" /> <!-- layout_toolbar.xml is from common module -->
</LinearLayout>

seller -> activity_buy.xml ->

<RelativeLayout>
    <include layout="@layout/layout_toolbar" /> <!-- layout_toolbar.xml is from common module -->
</RelativeLayout>

buyer -> BuyActivity.kt
toolbar.title = "Buy"

seller -> SellActivity.kt
toolbar.title = "Sell"

Все отлично работает в IDE,

  1. Мой предварительный просмотр макета отображается правильно, разрешив тег include и надувая в предварительном просмотре макета в среде IDE.
  2. Мои файлы kotlin также правильно разрешают ссылку на панель инструментов и не показывают никаких проблем.

Но всякий раз, когда я пытаюсь собрать приложение, он выдает ошибку компилятора:

Unresolved reference: toolbar <-- Id of the toolbar inside layout_toolbar.xml

Если IDE может правильно разрешить зависимости, почему сборка gradle не может быть выполнена? Я что-то не так делаю?

Обратите внимание, что модуль common добавляется как implementation в двух других модулях. Но я пробовал с api, который тоже не работает.

1 Ответ

0 голосов
/ 04 мая 2018

На первый взгляд это кажется хорошим вопросом. Я воспроизвожу ту же проблему в моем текущем проекте.

  1. Я добавил библиотечный модуль через

    проект внедрения (': mylibrary')

  2. Добавлен библиотечный модуль в проект.

enter image description here

  1. Создан макет / представление в модуле библиотеки, также известном как общий модуль.

enter image description here

  1. Входит в основной макет

enter image description here

  1. И, наконец, я могу изменить это программно.

    import kotlinx.android.synthetic.main.activity_home. * импорт kotlinx.android.synthetic.main.item_library. *

enter image description here

Там может быть какая-то проблема со встроенной средой. Примечание: я использую последнюю версию сборки и плагины для android и kotlin.

Обновите свои журналы для дальнейшего выяснения вашей проблемы.

...