2016-01-07 5 views
0

У меня есть проект gradle, который создает файл .aar, который я использовал для импорта в другой проект для запуска приложения. Оба проекта имеют файл build.gradle, и я должен добавлять зависимости в обоих проектах gradle file, чтобы приложение работало.Добавление зависимостей в проект Gradle, который генерирует .aar-файл

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

ответ

1

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.
Вы должны использовать путь библиотеки внутри другого проекта, не корень проекта.

+0

Я не использую maven здесь ..... мне нужно удалить определенную зависимость от Project, генерирующего apk, и сохранить зависимости только для проекта Gradle, который генерирует aar-файл. –

+0

@Ankit Я понимаю, но aar не содержит зависимостей, которые вы добавили в файле build.gradle. Это означает, что вы должны добавить эти зависимости также в проектах, в которых вы используете эту библиотеку. –

+0

@ Gabriele Mariotti так невозможно здесь? –

Смежные вопросы