Как создать релизный пакет библиотеки 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 с включенными опциями по умолчанию.

По умолчанию меню 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:

  1. Выберите вкладку Build Variant
  2. Выберите режим выпуска
  3. Затем Menu> Build> Make module...

С Android Studio 3.0 проще создать AR-файл. В опции Gradle выберите вариант, как показано на рисунке.

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/ папка.

Другие вопросы по тегам