Я хотел бы создать файл aar для своей библиотеки в Android Studio, я бы выбрал опцию jar, но у моей библиотеки есть ресурсы.
Любая идея, как создать файл AAR из библиотеки?
android
android-studio
jar
aar
AndroidEnthusiast
источник
источник
aar
, я должен был сделатьBuild > Rebuild Project
в Android Studio. Просто запуск, отладка или сборка APK не сгенерировалиaar
для меня../gradlew moduleName:assembleRelease
на вкладке терминалаПолучить экспортированный файл .aar из локальных сборок
Если у вас есть модуль, определенный как проект библиотеки Android, вы получите файлы .aar для всех вариантов сборки (отладка и выпуск по умолчанию) в
build/outputs/aar/
каталоге этого проекта.Если эти файлы не существуют, начните сборку с
для пользователей macOS
Детали проекта библиотеки
В проекте библиотеки есть
build.gradle
файл, содержащийapply plugin: com.android.library
. Для справки об этой библиотеке, упакованной в.aar
файл, вам нужно определить некоторые свойства, такие как package и version.Пример
build.gradle
файла для библиотеки (этот пример включает в себя запутывание в выпуске):Ссылка .aar файл в вашем проекте
В своем проекте приложения вы можете поместить этот
.aar
файл вlibs
папку и обновитьbuild.gradle
файл для ссылки на эту библиотеку, используя приведенный ниже пример:Альтернативные варианты ссылок на файлы локальной зависимости в gradle можно найти по адресу: http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project.
Совместное использование зависимостей с помощью Maven
Если вам нужно поделиться этими
.aar
файлами в вашей организации, проверьте maven. Хорошую статью по этой теме можно найти по адресу: https://web.archive.org/web/20141002122437/http://blog.glassdiary.com/post/67134169807/how-to-share-android-archive- библиотека-AAR-поО формате файла .aar
AAR-файл - это просто
.zip
альтернативное расширение и конкретный контент. Для получения подробной информации проверьте эту ссылку о формате AAR .источник
gradlew assemble
- это решило проблему, с которой я столкнулся.gradlew
это скрипт в каталоге верхнего уровня проекта .как сказал пользователь hcpl, но если вы не хотите беспокоиться о версии библиотеки, вы можете сделать это:
как своего рода раздражает необходимость обновлять версию каждый раз. Также это облегчает не беспокоиться о пространстве имен.
источник
После выполнения первого и второго шагов, упомянутых в ответе hcpl в той же теме , мы добавили '* .aar'], dir: 'libs' в нашем-android-app-project-based-on-gradle / app / файл build.gradle, как показано ниже:
Наша версия для gradle - com.android.tools.build:gradle:3.2.1
источник
Создать AAR
при создании следуйте приведенным ниже шагам.
File->New->New Module->Android Library and create
,Для генерации AAR
Зайдите в gradle на верхнюю правую панель в андроид студии, следуйте инструкциям ниже.
Gradle->Drop down library name -> tasks-> build-> assemble or assemble release
AAR будет сгенерирован в build / output / aar /
Но если мы хотим, чтобы AAR генерировался в определенной папке в каталоге проекта с нужным именем, измените уровень приложения,
build.gradle
как показано нижеТеперь он создаст папку с именем «release» в каталоге проекта, который будет иметь AAR.
источник
кстати @aar не имеет транзитивной зависимости. вам нужен параметр, чтобы включить его: транзитивные зависимости не разрешены для библиотеки aar с использованием gradle
источник