Создать Apk-файл из aab-файла (комплект приложений для Android) - PullRequest
0 голосов
/ 29 октября 2018

Есть ли способ сгенерировать файл apk из комплекта приложений для Android через терминал или с помощью android studio?

Ответы [ 6 ]

0 голосов
/ 22 июля 2019

Пока никто не предоставил решение для получения APK от AAB.

Это решение сгенерирует универсальный бинарный файл в виде apk.

Добавьте --mode = universal к вашей команде bundletool (если вам нужно подписанное приложение, используйте параметры --ks по мере необходимости).

bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
--mode=universal

Измените имя выходного файла с .apks на .zip

Распакуйте и изучите

Файл universal.apk - это ваше приложение

Этот универсальный двоичный файл, вероятно, будет довольно большим, но он является отличным решением для отправки в отдел контроля качества или распространения приложения в любом месте, кроме магазина Google Play.

0 голосов
/ 29 октября 2018

Люди уже объяснили, как это сделать с помощью командной строки. В завершение я подумал, что я также покажу способ сделать это через пользовательский интерфейс в Android Studio.

Когда вы открываете «Настройки запуска / отладки», вы можете выбрать «APK из комплекта приложения» (вместо «APK по умолчанию»).

Смотрите скриншот:

enter image description here

0 голосов
/ 29 октября 2018

Хорошо, вот полный путь, который мне пришлось сделать

1. Загрузите bundletool-all-0.6.0.jar по этой ссылке , скачайте последнюю доступную версию

2.Создайте комплект приложений с помощью android studio и найдите его путь

в моем случае это E:\Projects\Android\Temp\app\build\outputs\bundle\debug\app.aab

3. Скопируйте банку bundletools в какое-нибудь место и получите его путь

в моем случае это E:\Temp\bundletool-all-0.6.0.jar

используйте эту команду

java -jar "BUNDLE_TOOL_JAR_PATH" build-apks --bundle="BUNDLE_PATH" --output=YOUR_OUTPUT_NAME.apks

В моем случае это будет

java -jar "E:\Temp\bundletool-all-0.6.0.jar" build-apks --bundle="E:\Projects\Android\Temp\app\build\outputs\bundle\debug\app.aab" --output=out_bundle_archive_set.apks

4.Это создаст файл out_bundle_archive_set.apks, переименуйте его в .zip out_bundle_archive_set.zip, распакуйте этот файл и все готово. У вас будет несколько apks

Проверьте это сообщение в блоге для получения дополнительной информации. также проверьте официальный сайт

0 голосов
/ 29 октября 2018

Существует инструмент под названием bundletool, который может создавать APK из вашего AAB-файла:

Найти подробности об этом инструменте здесь: https://developer.android.com/studio/command-line/bundletool

Но вот некоторые основные моменты, взятые с этого сайта:

Строительные APK

Когда bundletool генерирует APK из вашего пакета приложений, он включает их в контейнер, называемый архивом набора APK, в котором используется расширение файла .apks. Чтобы создать набор APK для всех конфигураций устройства, поддерживаемых вашим приложением, из пакета приложения, используйте команду buildle-apks bundletool, как показано ниже:

bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks

Обратите внимание, что приведенная выше команда создает набор неподписанных APK. Если вы хотите развернуть APK на устройстве, вам также необходимо включить информацию о подписи вашего приложения, как показано в приведенной ниже команде.

bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
  --ks=/MyApp/keystore.jks
  --ks-pass=file:/MyApp/keystore.pwd
  --ks-key-alias=MyKeyAlias
  --key-pass=file:/MyApp/key.pwd

Установка APK

bundletool install-apks --apks=/MyApp/my_app.apks

Создание набора APK для конкретного устройства

bundletool build-apks --connected-device --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
0 голосов
/ 29 октября 2018

По умолчанию в среде IDE не используются комплекты приложений для развертывания приложения в локальное устройство для тестирования

См. bundletool команда

Для команды Debug apk,

bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks

Для команды Release apk,

bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
--ks=/MyApp/keystore.jks
--ks-pass=file:/MyApp/keystore.pwd
--ks-key-alias=MyKeyAlias
--key-pass=file:/MyApp/key.pwd
0 голосов
/ 29 октября 2018

Согласно документам , вы можете использовать ./gradlew :base:bundleDebug для построения, где base - это имя вашего модуля. Вы можете попробовать эту команду в терминале внутри Android Studio.

...