Автоматически добавлять зависимости модуля на Gradle - PullRequest
0 голосов
/ 17 апреля 2019

У меня странное поведение при использовании модулей в 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 import foo я думаю, что он должен транзитивно импортировать play-services-location, однако, если я не укажу явно,
implementation "com.google.android.gms:play-services-location:$location_library_version"
bar не компилируется

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

1 Ответ

2 голосов
/ 17 апреля 2019

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

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