Інструмент розробника

Безкоштовний онлайн-конвертер AAB в APK — конвертуйте пакет додатків

Безкоштовний онлайн Конвертер AAB в APK — інтерактивний конструктор команд, провідник файлів AAB, покроковий майстер перетворення та посібник з усунення несправностей. Працює на Windows, Mac і Linux.

1. Виберіть свою ОС

2. Шлях до файлу AAB

3. Виведіть шлях APK

4. Конфігурація підпису

5. Опції

Згенерована команда


передумови

Встановлено Java JDK 8+
bundletool.jar завантажено
Android SDK (необов’язково, для конкретного пристрою)
Завантажте bundletool

Перетягніть файл AAB, щоб ознайомитися

Перегляньте внутрішню структуру будь-якого файлу AAB

Підтримує файли .aab
1

Завантажте bundletool

bundletool — офіційний інструмент Google для операцій AAB. Завантажте останню версію з GitHub.

wget https://github.com/google/bundletool/releases/latest/download/bundletool-all.jar
2

Генеруйте APK з AAB

Використовуйте bundletool, щоб перетворити файл AAB на набір APK.

java -jar bundletool.jar build-apks --bundle=app.aab --output=app.apks
3

Створіть універсальний APK

Створіть єдиний універсальний APK, який працює на всіх пристроях.

java -jar bundletool.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
4

Розпакуйте APK з APKS

Вихідний файл .apks є ZIP-архівом. Витягніть з нього Universal.apk.

unzip app.apks -d output_dir/
5

Встановити на пристрій (необов'язково)

Встановіть створені APK безпосередньо на підключений пристрій.

java -jar bundletool.jar install-apks --apks=app.apks

Android App Bundle (AAB) — це формат публікації додатків Android у Google Play. Він містить увесь скомпільований код і ресурси, але відкладає створення APK у Google Play, який створює оптимізовані APK для кожної конфігурації пристрою.

Ні. Для перетворення AAB на APK потрібен bundletool (додаток Java), який не можна запустити у веб-переглядачі. Вам потрібно встановити Java JDK і bundletool локально. Наш конструктор команд допомагає створити правильну команду.

Ця помилка виникає, якщо не надається інформація про підпис. Або використовуйте --mode=universal для тестування без знаку, або надайте параметри --ks, --ks-pass, --ks-key-alias і --key-pass.

Розділити APK оптимізовано для конкретних пристроїв (на основі архітектури, щільності екрана, мови). Універсальний APK містить ресурси для ВСІХ конфігурацій, що призводить до більшого, але універсально сумісного APK.

bundletool — це файл JAR, а не системна команда. Використовуйте його з: java -jar bundletool-all.jar. Переконайтеся, що встановлено Java JDK 8+ і шлях до файлу JAR правильний.

Перетворення AAB на APK онлайн: що насправді робить цей інструмент

Android App Bundle (.aab) – це формат, який Google Play просить розробників завантажити, але його не можна встановити на телефон. Якщо у вас є файл .aab із сервера збірки, конвеєра CI або колеги, вам спочатку потрібно перетворити його на .apk, який можна встановити. Ця сторінка пропонує вам дві речі для цієї роботи: інтерактивний Конструктор команд AAB до APK, який записує точну команду bundletool для вашої операційної системи, і Файловий провідник AAB, який відкриває пакет у вашому браузері, щоб ви могли побачити, що всередині, перш ніж конвертувати його.

Саме перетворення виконується через офіційну програму Google bundletool, яка є програмою Java. Оскільки bundletool потребує середовища виконання Java і доступу до вашого сховища ключів, фактичний етап збирання відбувається на вашому комп’ютері, а не на наших серверах. Ваш файл .aab ніколи нікуди не завантажується. Конструктор просто усуває припущення, щоб ви могли скопіювати правильну, готову до виконання команду замість того, щоб запам’ятовувати назви прапорців.

AAB проти APK: чому ви не можете просто перейменувати файл

Багато людей шукають, як змінити AAB на APK, перейменувавши розширення, але це ніколи не працює. .apk — це єдиний автономний пакет, який Android може встановити безпосередньо. .aab — це контейнер для публікації: він містить ваш скомпільований код і ресурси, розділені на модулі, і очікує, що Google Play або bundletool згенерують із нього остаточні, оптимізовані для пристрою файли APK. Перейменування файлу не розпаковує ці модулі та не підписує нічого, тому Android відмовляється його інсталювати. Єдиний надійний спосіб конвертувати Android App Bundle до APK — це дозволити bundletool створити набір APK для вас.

Як конвертувати AAB в APK на Windows, Mac і Linux

Кроки однакові на кожній платформі, змінюється лише стиль шляху до файлу, тому конструктор команд вище має перемикач Windows, macOS і Linux. Ось повний потік від початку до кінця:

  1. Встановіть Java JDK 8 або новішої версії. Запустіть java -version у терміналі, щоб підтвердити, що Java знаходиться у вашому PATH.
  2. Завантажте bundletool. Отримайте останню версію bundletool-all.jar на офіційній сторінці випусків GitHub від Google.
  3. Створіть набір APK. Наведіть інструмент bundletool на свій комплект і дозвольте йому створити архів .apks: java -jar bundletool-all.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
  4. Відкрийте архів .apks. Це лише ZIP-файл, тому розпакуйте його, і ви знайдете universal.apk усередині.
  5. Встановити на свій пристрій. Скопіюйте файл APK на свій телефон і завантажте його або використовуйте bundletool install-apks із пристроєм, підключеним через USB.

Універсальний APK проти розділених APK: який із них вам створити?

Якщо вам потрібен один файл, який встановлюється на будь-який телефон, використовуйте --mode=universal. Це створює єдиний універсальний APK з вашого AAB, який об’єднує кожну архітектуру ЦП, щільність екрана та мову в один пакет. Він більший, але це найпростіший варіант для тестування, архівування або спільного використання збірки за межами Play Store. Якщо ви вимкнете режим, bundletool натомість створить розділені APK-файли, які обрізано для одного конкретного пристрою, тому вони завантажуються меншими, але вам доведеться інсталювати відповідний набір разом. Для більшості людей, яким просто потрібно конвертувати .aab для швидкого встановлення, універсальний APK є правильним вибором.

Підписання APK, який ви отримуєте від AAB

Android не встановить APK, якщо він не підписаний. Для тестування bundletool може автоматично підписувати ключ налагодження, що саме робить параметр «Використовувати сховище ключів налагодження» в конструкторі. Якщо ви готуєте збірку випуску, наприклад, для розповсюдження на власному веб-сайті, підпишіть його за допомогою власного сховища ключів, заповнивши шлях до сховища ключів, пароль сховища ключів, псевдонім ключа та пароль ключа. Потім конструктор додає прапорці --ks, --ks-pass, --ks-key-alias і --key-pass, щоб APK, який ви отримуєте, містив ваш справжній робочий підпис замість одноразового налагоджувального.

Поширені помилки bundletool і як їх виправити

Дві проблеми виникають знову і знову. Повідомлення «bundletool: команда не знайдена» означає, що ви намагалися запустити bundletool так, ніби це була вбудована команда. Це файл JAR, тому ви завжди викликаєте його за допомогою java -jar bundletool-all.jar. Помилка «Немає ключа/сертифіката» означає, що відсутні деталі підпису: або додайте --mode=universal для непідписаної тестової збірки, або вкажіть прапорці сховища ключів, як описано вище. Вкладка «Усунення несправностей» вище на сторінці охоплює більше з них, а AAB Explorer дозволяє підтвердити, що ваш пакет справді містить ті модулі, які ви очікуєте, перш ніж витрачати час на налагодження команди.

Коли вам насправді знадобиться конвертувати AAB?

Звичайними причинами є тестування збірки випуску на реальному пристрої перед публікацією, передача збірки тестувальнику, який не користується Google Play, збереження інстальованої копії вашого власного додатка для ваших записів або виконання QA на апаратному забезпеченні, яке не охоплює внутрішнє тестування Play Store. Незалежно від причини, конвертуйте лише пакети додатків, які ви маєте право використовувати, як-от власні збірки чи пакети, з якими ви маєте чіткий дозвіл працювати.

Розроблено та задокументовано Mst Shaefale Провідний розробник і архітектор пакетів Android • Перевірено на Android 12–15

Кожна утиліта в наборі інструментів XAPK to APK працює на 100% локально у вашому браузері через JavaScript і WebAssembly. Знайшли граничний кейс із певним пакетом? Повідомте про це нашій команді інженерів.