Как добавить зависимость .aar в библиотечном модуле?
У меня есть один .aar
файл одного библиотечного модуля.
Я хочу использовать его в качестве библиотеки или зависимости в моем другом модуле библиотеки проектов.
Как мне это сделать?
Я попробовал варианты, указанные ниже:
http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project/
Он работает только в том случае, если я добавляю ссылку .aar
в моем модуле приложения проекта. Но не работает в библиотечном модуле.
Спасибо.
Ответы
Ответ 1
Следуйте этому параметру, и вы сможете добавить .aar
зависимость от модуля библиотеки
build.gradle(Project:....)
allprojects {
repositories {
jcenter()
mavenCentral()
flatDir {
dirs 'libs'
dirs project(':library_module').file('libs')
}
}
}
build.gradle(модуль: приложение)
dependencies {
...
compile project(':library_module')
}
build.gradle(Module: library_module)
dependencies {
...
compile(name:'aar_file_name', ext:'aar')
}
settings.gradle(Настройки проекта)
include ':app', ':library_module'
Ответ 2
Во всех модулях (библиотека или приложение), где вам нужен файл aar, вы должны добавить в свой build.gradle
репозиторий:
repositories {
flatDir {
dirs 'libs'
}
}
и добавьте зависимость:
dependencies {
compile(name:'nameOfYourAARFileWithoutExtension', ext:'aar')
}
Вы можете использовать файл верхнего уровня для добавления репозиториев, но вы не можете добавлять зависимости в файл верхнего уровня.
Обратите внимание на относительный путь папки libs, которую вы используете в модуле.
Ответ 3
- Файл → Новый модуль → Импорт .JAR/.AAR
- импортировать файл .AAR.
- в библиотечном модуле build.gradle добавить зависимость
зависимостей {компилировать проект (': Name-Of-Your-Module-aar')}
http://tools.android.com/tech-docs/new-build-system/tips#TOC-Handling-transitive-dependencies-for-local-artifacts-jars-and-aar-
Ответ 4
Я сделал это немного иначе, чем другие опубликовали здесь...
Моей главной целью было создать библиотечный модуль, который содержал бы все jar и aar, которые мне понадобятся. Мой основной проект тогда зависел бы от этого библиотечного модуля - я хотел, чтобы только одна строка в основном проекте build.gradle связывала эту зависимость.
-
Добавить новый библиотечный модуль в проект: Файл → Новый → Новый модуль → Библиотека Android
-
в модуле библиотеки откройте build.gradle и добавьте:
// so that the library project can locate the aar in /libs
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation fileTree(include: ['*.aar'], dir: 'libs')
}
теперь вы можете вставить все файлы jar и aar в папку /libs вашего библиотечного модуля. Бонус: независимо от того, какое имя библиотеки не имеет значения, она автоматически обнаруживается
Ответ 5
Извините, процесс включает в себя 10 шагов, но это очень просто и легко.
1- New-> Модуль
![enter image description here]()
2- Выбрать импорт .jar/aar package
![enter image description here]()
3- Выберите файл .aar из местоположения
![enter image description here]()
4- Мы видим, что модуль добавлен, но еще не настроен с модулем приложения.
![enter image description here]()
5- Перейти к структуре проекта
![enter image description here]()
6- Текущая структура проекта такая же, как эта
![enter image description here]()
7- Перейдите в модуль приложения и нажмите значок "+"
![enter image description here]()
8- Выберите 3-й вариант Зависимость модуля
![enter image description here]()
9- Выбрать недавно добавленный модуль .arr
![enter image description here]()
10- вы можете увидеть новый модуль, прилагаемый к модулю приложения. Теперь нажмите Применить.
![enter image description here]()
Вы можете видеть, что мы хороши, чтобы пойти.
![enter image description here]()