Gradle: приложение не видит код, импортированный из второго уровня субмодуля - PullRequest
0 голосов
/ 25 декабря 2018

У меня проблема с переходными зависимостями в моем проекте.Существует модуль приложения (основной), который включает модуль библиотеки Gradle, который включает модуль B.

Проблема состоит в том, что приложение не видит классы внутри модуля B. Модуль A, конечно, видит классы из B, но приложениенет.

Зависимости должны быть транзитивными по умолчанию, но ничего не происходит.

Таким образом, файл приложения имеет:

implementation project(path: ':A')

Модуль A имеет:

implementation project(path: ':B')

Если я добавлю: реализацию проекта (путь: ': B') в файл gradle приложения, это сработает, но я должен исключить это, поскольку я буду использовать разновидности продукта, и это больше не работает для меня.

Есть ли обходное решение для этой проблемы?

1 Ответ

0 голосов
/ 25 декабря 2018

Если вы используете implementation, классы не будут доступны из модулей, которые его используют.

Чтобы выставить классы из подмодулей, вы должны заменить implementation на api

В модуле «A» используйте:

api project(':B')

В модуле «app» используйте:

implementation project(':A')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...