AAR файл не содержит вложенные (или transitive) зависимостей и не имеет файла POM, который описывает зависимости, используемые библиотеки.
Это означает, что если вы импортируете файл aar с использованием репозитория flatDir
, вы должны указать зависимости также в своем проекте.
Вы должны использовать репозиторий maven (вы должны публиковать библиотеку в частном или публичном maven-репо), у вас не будет той же проблемы.
В этом случае gradle загружает зависимости, используя файл pom, который будет содержать список зависимостей.
Альтернативой является добавление модуля в качестве «внешнего модуля».
Внутри проекта вы можете обратиться к внешнему модулю.
Просто используйте:
Project
|__build.gradle
|__settings.gradle
|__app (application module)
|__build.gradle
В settings.gradle
:
include ':app'
include ':myExternalLib'
project(':myExternalLib').projectDir=new File('pathLibrary')
В app/build.gradle
:
dependencies {
compile project(':myExternalLib')
}
Обратите внимание на myExternalLib
.
Вы должны использовать путь библиотеки внутри другого проекта, не корень проекта.
Я не использую maven здесь ..... мне нужно удалить определенную зависимость от Project, генерирующего apk, и сохранить зависимости только для проекта Gradle, который генерирует aar-файл. –
@Ankit Я понимаю, но aar не содержит зависимостей, которые вы добавили в файле build.gradle. Это означает, что вы должны добавить эти зависимости также в проектах, в которых вы используете эту библиотеку. –
@ Gabriele Mariotti так невозможно здесь? –