Из чего же, из чего же сделаны AAR?
Содержание:
- Структура
- Сборка
- Локальные aar- проблемы
- Публикация
- Подключение репозитория
- Подключение зависимости
AAR - это архив в котором содержатся:
- классы в виде jar
- ресурсы
- мета информация
- информация об айдишниках ресурсов
- манифест


Структура
Чтобы собрать AAR можно открыть внизу терминал и выполнить через утилиту gradlew команду assemble, куда передать название проекта через ключ -p

gradlew.bat assemble -p aartest Windows
./gradlew assemble -p aartest Mac/Linux



Сборка
Локальные aar-проблемы
Но использовать полученные таким образом aar можно лишь с ограничениями. При использовании aar напрямую вы можете столкнуться с проблемами при запуске релизного билда. Во-первых локальные aar не позволит использовать gradle и может вызвать ошибку. Если же вы воспользуетесь хаками и перенесете aar в отдельный модуль, от которого уже будет зависеть ваше приложение вы можете столкнуться с неудобствами, если у библиотеки есть зависимости. Вам придется поочередно выяснять, каких зависимостей не хватает. Чтобы этого избежать, можно опубликовать библиотеку в мавен репозиторий.



Для простейшей публикации в мавен репозиторий вам нужно добавить плагин и указать путь до репозитория и возможно учетные данные. В примере я покажу как публиковать в свою папку и использовать её как локальный репозиторий. Плюс этого подхода в том, что репозиторий можно добавить в гит и распространить на всю команду.
На скриншоте указан код для вставки в build.gradle модуля, который вы собираетесь публиковать.
Добавляется плагин, указывается версия и группа артефакта, название и тип публикации, компонент для публикации. В отдельном блоке указывается локальная папка, в которую будет сохранен репозиторий.



Публикация
Подключение репозитория
Чтобы воспользоваться только что опубликованной библиотекой, нужно добавить репозиторий в build.gradle проекта, либо в settings, если вы последовали примерам из стандартных проектов новых версий android-студии.
На скриншоте второй вариант. Но суть от этого не меняется, нужно добавить строчку maven { url ("../путь_до_локальной_папки/") } в блок repositories и тогда gradle увидит ваш новый репозиторий.




Для подключения зависимости достаточно вспомнить group и version, которые мы указывали выше.

На скриншотах представлено два варианта записи зависимости.




Подключение зависимости