Встановіть Android App Bundle на пристрій


116

Я побудував свій проект, використовуючи новий формат Android App Bundle. За допомогою файлів APK я можу завантажити APK на свій пристрій, відкрити його та негайно встановити програму. Я завантажив свій додаток як пакет (формат .aab), і мій Nexus 5X з ОС Android 8.1 не може відкрити файл. Чи є спосіб встановити AAB на пристрої так само зручно, як APK?


2
Схоже, потрібно кілька кроків більше, ніж простий apk: developer.android.com/guide/app-bundle/test .
Майк М.

Відповіді:


109

Коротка відповідь:

Не безпосередньо.

Довша відповідь:

Android App Bundles - це формат публікації. .apkДля встановлення програм Android-пристроям потрібні файли.

PlayStore або будь-яке інше джерело, з якого ви встановлюєте, має витягти apk з набору, підписати кожен, а потім встановити їх для цільового пристрою.

Перетворення з .aab на .apk здійснюється за допомогою bundletool .

Ви можете використовувати Внутрішній спільний доступ до додатків, щоб завантажити налагоджувану збірку своєї програми в Play Store і поділитися нею з тестувальниками.


У такому випадку ми б використовували опцію Build bundle (s), а не підписаний пакет, враховуючи те, що ми не можемо публікувати налагоджувальні програми в play-store
Oush

Я б в основному це робив для місцевого тестування.
клавішний

3
Випуск (замість вихідних файлів) bundletool тут: github.com/google/bundletool/releases
Карі,

Наразі це неправильна відповідь, див. Інші відповіді для створення apksфайлу.
CoolMind

1
@ericn Початкова "публікація" програми проходить звичайний процес. Будь-яке внутрішнє спільне використання додатків, яке ви робите згодом, не повинно блокуватися відгуками.
клавішний

53

Встановивши aab безпосередньо з пристрою, я не міг знайти способу для цього.

Але є спосіб встановити його через ваш командний рядок, використовуючи наступну документацію. Ви можете встановити apk на пристрій через BundleTool

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

Тепер ви можете встановити екстракт apk з файлу 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 = alias - -ks-pass = pass: пароль

Аргументи:

  • --bundle -> файл .aab Android Bundle
  • --output -> Призначення та ім'я файлу для згенерованого файлу apk
  • --ks -> Файл сховища ключів, який використовується для створення Android Bundle
  • --ks-key-alias -> Псевдонім для файлу сховища ключів
  • --ks-pass -> Пароль для файлу Alias ​​(Зверніть увагу на префікс '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 потрібно встановити

25
Якщо ви використовуєте Mac можна встановити Bundletool з Homebrew: brew install bundletool. Тоді просто виконайте такі команди:bundletool build-apks --bundle=./app/release/app.aab --output=./app/release/app.apks
Альберт Віла Кальво,

3
--ks-pass = pass: пароль визначає пароль для магазину ключів. Щоб вказати пароль для файлу ключів, використовуйте --key-pass = pass: пароль
smitty1

Я стикаюся з тією ж проблемою, я виконував описані вами дії, однак, коли додаток встановлено на моєму пристрої Android, я не можу його відкрити (він автоматично відкривається)
aName

Дякую! --key-pass=pass:... потрібен, але дивно, що пароль неправильний, тому мені доводиться його вводити вручну. Після ... install-apks --adb=...того, як він пише: "APK-файли були витягнуті в каталог: ...", але ця папка не існує, і вона не встановлюється на пристрій.
CoolMind

ПРИКЛАД: C:\Users\Aterr\Desktop\hack>java -jar "C:\Users\Aterr\Desktop\hack\bundletool-all-0.10.3.jar" install-apks --adb="C:\Users\Aterr\AppData\Local\Android\Sdk\platform-tools\adb.exe" --apks="C:\Users\Aterr\Desktop\hack\extractedapks.apks"
Холецький

24

Ви не можете встановити додаток згорток [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перейдіть до папки , де ви побачите список усіх файлів .apk

Там йде посилання від розробників android на посилання на пакетні інструменти

довідник розробника android


Для цього потрібні ключ підписання та паролі, див. Stackoverflow.com/a/52704544/2914140 та developer.android.com/studio/command-line/bundletool .
CoolMind

@CoolMind ключ підписання та паролі - це коли ви хочете побудувати набір підписаних apk з набору і хочете розгорнути apk на пристрої, перевірте оновлену відповідь
Ali Tamoor

Третій крок дійсно потрібний, велике спасибі.
Дірен

немає папки з назвою standalones, замість неї є роздільники
Gopal Singh Sirvi

16

Для MAC:

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

Просто зробив роботу без жодних проблем. Врятував день!
asozcan

після того, як третій командний термінал показав шлях до програми, але папка недоступна
Furquan

1
@Furquan, що відображений шлях - це шлях у підключеному пристрої. Команда встановлює apk на ваш пристрій.
Біджой Тангарадж,

7

Якщо ви хочете встановити apk зі свого aab на свій пристрій для тестування, вам потрібно відредагувати конфігурацію, перш ніж запускати її на підключеному пристрої.

  1. Перейдіть до редагування конфігурацій
    введіть тут опис зображення
  2. Виберіть спадне меню Розгортання та змініть його з "Апк за замовчуванням" на "АПК із пакета додатків".введіть тут опис зображення
  3. Застосуйте зміни, а потім запустіть їх на підключеному пристрої. Після внесення змін час нарощування збільшиться.

Це встановить apk безпосередньо на пристрій, підключений до aab.


1
Це допомогло мені відтворити одну помилку, яка з'являється лише під час збірки випуску. Виявляється, помилка з'являється при встановленні з AAB. Дуже дякую.
Серлін

Тільки для уточнення, я припускаю, що інструкції та знімки екрана наведені в Android Studio? [Я використовую Xamarin, а не Android Studio. Я розумію, що більшість розробників використовують Android Studio.]
ToolmakerSteve

Так, інструкції та знімки екрана наведені в android studio 3.6.3.
Kartikeya_M

0

Ні, якщо ви налагодження програми без інших користувачів використовувати збірки> Build APK (и) меню в Android Studio або запустити його на пристрої / емуляторі їм налагодження реліз APK буде встановлено автоматично. При налагодженні програми з іншими використовувати Збірку> Створити підпис APK ... меню. Якщо ви хочете опублікувати бета-версію, використовуйте Google Play Store. Ваш APK (s) буде app\build\outputs\apk\debugі app\releaseпапки.



0

Використовуйте (на Linux): cd android ./gradlew AssemblyRelease | AssemblyDebug

Непідписаний файл .apk створюється для кожного випадку (для налагодження або тестування)

ПРИМІТКА. У Windows замініть виконуваний файл gradle на gradlew.bat

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.