Автоматически добавлять зависимости модуля в gradle

У меня странное поведение при использовании модулей в gradle с Android Studio... это сложно объяснить, поэтому я думаю, что лучше привести пример

Допустим, мое приложение имеет два модуля

:bar
:foo

foo использует play-services-location, поэтому я импортирую его в build.gradle. foo компилируется нормально.

bar использует foo, поэтому в build.gradle папки бара я делаю:
api project(path: ':foo')
bar также использует play-services-location, но поскольку bar импортирует foo, я думаю, что он должен транзитивно импортировать play-services-location, однако, если я не укажу явно do
implementation "com.google.android.gms:play-services-location:$location_library_version"
бар не компилируется

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

1
0
49
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы должны использовать «api» (а не «реализация») для «google-play-location» в «foo», чтобы от него зависел «bar», который использует «foo». И если нет других модулей, которые зависят от 'bar', то лучше указать 'implementation foo' в 'bar', а не 'api'

Другие вопросы по теме