Как создать релизный пакет библиотеки Android (aar) в Android Studio (не отлаживать)
Я собрал свой пакет для библиотеки Android (aar), и результат сборки создается в папке ".. \ app \ build \ output \ aar". Файл в этой папке называется "app-debug.aar", поэтому я думаю, что он был построен в режиме отладки, поэтому я хотел бы знать, как генерировать собранный релиз, то есть "app-release.aar". Как я могу это сделать? Кроме того, возможно ли создать сборку с другим настраиваемым именем, например, "myCustomAppName-release.aar" вместо "app-release.aar".
10 ответов
В Android Studio 1.2+ есть полный gradle
меню, в котором перечислены все доступные gradle
задачи.
Я нашел это меню в правой части IDE с включенными опциями по умолчанию.
Щелкните правой кнопкой мыши нужную задачу и нажмите "Выполнить".
Вы можете использовать командную строку
./gradlew <moduleName>:assemble
./gradlew <moduleName>:assemble<build_variant>
//for example
./gradlew <moduleName>:assembleRelease
//or
./gradlew <moduleName>:bundle<build_variant>Aar
//for example
./gradlew <moduleName>:bundleReleaseAar
//output is located
<project_path>/build/outputs/aar/<module_name>-<build_variant>.aar
В качестве альтернативы вы можете использовать AndroidStudio UI
View -> Tool Windows -> Gradle
<module_name> -> Tasks -> build or others -> assembleRelease
Эта проблема уже может быть решена с помощью ответов как выполнить
./gradlew assembleRelease
или выберите команду buildRelease из меню Gradle в Android Studio. Однако, для полноты, в Android Studio 1.5.1 (и, возможно, также в более старых версиях) сборка релизной версии.aar может быть выполнена путем выбора Build->"Build APK" в Android Studio. Похоже, выполнить executeRelease. Если ваш проект содержит только проект библиотеки, он не запрашивает никакой информации для подписи.
Я столкнулся с этой проблемой в AS 2.3.3 и решил ее, изменив вариант сборки модуля на выпуск и собрав его снова:
https://st ackru.com/images/cc1c041c8f9805c21d9855631a4144aa37ec4420.png
Из Android Studio v4.x:
- Выберите вкладку Build Variant
- Выберите режим выпуска
- Затем Menu> Build> Make module...
1. Добавьте следующий скрипт в тег android{} в build.gradle, чтобы сгенерировать сборку релиза:
signingConfigs {
testConfig{
storeFile file("X:/XXXX/yourkeystore")
storePassword "yourKeyPassword"
keyAlias "yourAlias"
keyPassword "yourAliasPassword"
}
}
buildTypes{
release {
signingConfig signingConfigs.testConfig
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
2. Запустите команду "gradle clean build" в командной строке.
Еще один вопрос из двух частей, на который никто не отвечает...
Вот простые ответы для будущих поколений:
Часть 1 Как создать только релиз*release.aar
?
Запуск в студии Android terminal
(или любой терминал в папке вашего проекта).:
./gradlew assembleRelease
Для такой задачи не нужно подписывать конфиг.
Часть 2 Как переименовать выходную библиотеку вAnotherLibraryName-release.aar
?
Добавить в свой модуль gradle.build
:
android{
project.archivesBaseName = "AnotherLibraryName"
}
Настройте свой проект как библиотеку Android
В build.gradle
файл: plugin: 'com.android.library'
Вы можете увидеть результат в: build/outputs/aar/[your module].
Также смотрите эту ссылку
Для меня просто исправление ошибки макета в библиотеке, которая не приводила к ошибке компиляции (отсутствует плагин androidx), исправил ее и <lib>-release.aar
появился рядом с <lib>-debug.aar
в build/outputs/aar/
папка.