Я построил свой проект, используя новый формат Android App Bundle. С помощью файлов APK я могу загрузить APK на свое устройство, открыть его и сразу же установить приложение. Я загрузил свое приложение в виде пакета (формат .aab), и мой Nexus 5X под управлением Android 8.1 не может открыть файл. Есть ли способ установить AAB на устройства так же удобно, как и APK?

prfarlow

Ответов: 8

Ответы (8)

Короткий ответ:

Не напрямую.

Более длинный ответ:

Android App Bundles - это стандартный формат публикации приложений в Google Play Store. Но Android-устройства требуют .apk файлов для установки приложений.

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

Преобразование из .aab в .apk осуществляется через bundletool.

Вы можете использовать Internal App Sharing, чтобы загрузить отлаживаемую сборку вашего приложения в Play Store и поделиться ею с тестировщиками.

Использование (в Linux): cd android ./gradlew assemblyRelease | assemblyDebug

Для каждого случая создается неподписанный APK (для отладки или тестирования)

ПРИМЕЧАНИЕ. В Windows замените исполняемый файл gradle на gradlew.bat

Вы не можете установить пакет приложений [NAME] .aab непосредственно на устройство Android, потому что он публикует формат, но есть способ извлечь требуемый apk из bundle и установите его на свое устройство, процесс будет следующим:

  1. Скачать bundletool с здесь
  2. запустите это в своем терминале,
java -jar bundletool.jar build-apks --bundle=bundleapp.aab --output=out_bundle_archive_set.apks
  1. Последний шаг создаст файл с именем out_bundle_archive_set.apks, просто переименуйте его в out_bundle_archive_set.zip и извлеките zip-файл, перейдите в папку out_bundle_archive_set> standalones, где вы увидите список всех apks

Там идет ссылка от разработчиков android на набор инструментов ссылка

android developer reference

Установив aab прямо с устройства, я не нашел для этого способа.

Но есть способ установить его через командную строку, используя следующую документацию Вы можете установить apk на устройство через BundleTool

Согласно комментарию "@Albert Vila Calvo" он отметил, что для установки bundletools с помощью HomeBrew используйте brew install bundletool

Теперь вы можете установить извлечение apks из файла aab и установить его на устройство

Извлечение apk файлов из следующей команды

java -jar bundletool-all-0.3.3.jar build-apks --bundle = bundle.aab --output = app.apks --ks = my-release-key.keystore --ks-key-alias = псевдоним --ks-pass = пароль: пароль

Аргументы:

  • - пакет -> Android Bundle .aab файл
  • - вывод -> Место назначения и имя файла для сгенерированного файла apk
  • - ks -> Файл хранилища ключей, используемый для создания Android Bundle
  • - ks-key-alias -> Псевдоним для файла хранилища ключей
  • - ks-pass -> Пароль для файла псевдонима (обратите внимание на префикс pass перед значением пароля)

Тогда у вас будет файл с расширением .apks Итак, теперь вам нужно установить его на устройство

java -jar bundletool-all-0.6.0.jar install-apks --adb = / android-sdk / platform-tools / adb --apks = app.apks

Аргументы:

  • - adb -> Путь к файлу adb
  • - apks -> Apks файл должен быть установлен

Для MAC:

brew install bundletool
bundletool build-apks --bundle=./app.aab --output=./app.apks
bundletool install-apks --apks=app.apks

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

  1. Перейти к редактированию конфигураций
    enter image description here
  2. Выберите раскрывающееся меню «Развернуть» и измените его с «APK по умолчанию» на «APK из набора приложений».enter image description here
  3. Примените изменения, а затем запустите на подключенном устройстве. После внесения этого изменения время сборки увеличится.

Это установит apk прямо на устройство, подключенное из aab.

Есть ли способ установить AAB на устройства так же удобно, как и APK?

Поскольку установка выполняется сторонними приложениями или файловым менеджером мобильной компании, например приложениями.
Следующие версии файловых менеджеров, следовательно, будут поставляться с инструментами управления "aab".

Я поискал «установщик android aab» в магазине игр и нашел его.

enter image description here

намеренно не называет его.
Тот, который я установил, извлек бандл онлайн,
Но после этого это приложение не могло установить это извлеченное приложение само (на моем устройстве mi [miui]).
Но это приложение сохранило извлеченный онлайн apk в памяти телефона, откуда я смог его установить.
помните:
Приложение "файлы" Google не смогло установить этот apk
, но
мой системный (встроенный) файловый менеджер смог.

Для тех, кому нужен одиночный universal.apk, который может работать на любом устройстве Android:

brew install bundletool
bundletool build-apks --mode universal --bundle ./app-release.aab --output ./app.apks
mv app.apks app.zip
разархивировать app.zip

Теперь вы можете получить свой universal.apk

2022 WebDevInsider