Налаштування Android App Bundle (AAB) для оптимізації розміру

Налаштування Android App Bundle (AAB) для оптимізації розміру З моменту введення вимог Google Play AAB став обов'язковим форматом для нових застосунків. Але проста конвертація APK в AAB не гарантує зменшення розміру — ми бачимо це на кожному другому проекті. Без правильної конфігурації splits, te

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Налаштування Android App Bundle (AAB) для оптимізації розміру
Середній
від 1 дня до 3 днів

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    894
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Налаштування Android App Bundle (AAB) для оптимізації розміру

З моменту введення вимог Google Play AAB став обов'язковим форматом для нових застосунків. Але проста конвертація APK в AAB не гарантує зменшення розміру — ми бачимо це на кожному другому проекті. Без правильної конфігурації splits, texture compression та R8 ви отримаєте лише незначну економію. Наша команда з 5+ річним досвідом у Android-розробці та 20+ релізними проектами допомагає налаштувати AAB так, щоб розмір завантажуваного APK скоротився на 15–35%. Нижче — конкретні кроки, які дають вимірний результат.

Як Android App Bundle зменшує розмір APK?

APK — монолітний архів для всіх пристроїв. AAB — контейнер з модулями, з якого Google Play генерує персональний APK під кожен пристрій. Наприклад, Samsung Galaxy S23 отримає тільки arm64-v8a бібліотеки та xxhdpi ресурси, без x86, armeabi-v7a та xhdpi/hdpi варіантів. Результат: завантажуваний APK зменшується в середньому на 15–35% — це офіційні дані Google, підтверджені на реальних застосунках. Android Developers documentation підтверджує: "On average, the size of Android App Bundles is about 15% smaller than APKs." Ми гарантуємо такий самий ефект на вашому проекті.

Що потрібно налаштувати в build.gradle для оптимального AAB?

Налаштування splits — основа AAB. Ось мінімальна конфігурація:

android { bundle { language { enableSplit = true } density { enableSplit = true } abi { enableSplit = true } texture { enableSplit = true defaultFormat = "ETC2" } } } 

texture splits критичні для ігор та застосунків з 3D. Без них всі формати текстур упаковані разом, що може давати +50–100 MB. ETC2 — універсальний формат (GLES 3.0+), ASTC — найкраще стиснення на сучасних пристроях (Adreno 530+, Mali-G51+). Вибір формату залежить від мінімального API level.

Додаткові налаштування для texture compression

Якщо ваш застосунок використовує ASTC, встановіть defaultFormat = "ASTC" у блоці texture. Для старих пристроїв, які не підтримують ASTC, Google Play автоматично вибере ETC2-варіант, але лише якщо увімкнено enableSplit. Перевірте сумісність за допомогою baseConfig.fgl.

Порівняння APK та AAB: що ефективніше?

Параметр APK AAB
Розмір завантаження Єдиний для всіх пристроїв Оптимізований під кожен пристрій
Texture splits Не підтримуються Підтримуються (ETC2, ASTC, DXT)
Динамічні модулі Вимагають окремого налаштування Вбудована підтримка (Play Feature Delivery)
Керування версіями Просте Вимагає bundletool для аналізу

AAB однозначно ефективніший: він скорочує розмір на 15–35% — це краще, ніж будь-який APK-спліттер.

Таблиця: Формати текстур для AAB

Формат Вимоги Стиснення
ETC2 OpenGL ES 3.0+ 4:1
ASTC Adreno 530+, Mali-G51+ 10:1
DXT Nvidia Tegra, old GPUs 6:1

Як перевірити розмір AAB перед завантаженням?

Використовуйте bundletool. Зберіть APK-набір командою:

bundletool build-apks --bundle=app.aab --output=app.apks \ --ks=keystore.jks --ks-pass=pass:password \ --ks-key-alias=key --key-pass=pass:password bundletool get-size total --apks=app.apks --device-spec=pixel7_spec.json 

device-spec.json отримуємо через bundletool get-device-spec --adb=<path>. Це дає точний розмір завантажуваного APK для цільового пристрою до завантаження в Play Store.

Чому R8 та ProGuard обов'язкові для AAB?

buildTypes { release { minifyEnabled = true shrinkResources = true proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } } 

shrinkResources = true працює лише при minifyEnabled = true. Видаляє невикористовувані ресурси — рядки, зображення, layout — на основі статичного аналізу коду. У реальних проектах ми отримуємо 5–20 MB додаткового зменшення. R8 у full mode агресивніше видаляє код та інлайнить методи, зменшуючи розмір ще на 5–15% порівняно зі старим ProGuard.

Аналіз розміру через Android Studio

Build → Analyze APK (працює і з AAB через розпакування). Показує pie chart: classes.dex, res/, lib/, assets/. Відразу видно, що займає найбільше. Типові знахідки:

  • assets/ з нестисненими JSON-файлами даних — стиснути або перевести в бінарний формат (Protobuf / FlatBuffers)
  • lib/ з нативними бібліотеками для всіх ABI включаючи x86 та x86_64 — залишити тільки arm64-v8a та armeabi-v7a для production build
  • res/drawable-* з PNG там, де достатньо VectorDrawable

Що входить в роботу

Налаштування AAB — це не один флаг, а комплекс заходів. Ось етапи, які ми виконуємо:

  1. Аудит поточної конфігурації: перевірка splits, texture compression, R8/ProGuard, bundletool.
  2. Налаштування build.gradle: правильні слоти та формати текстур.
  3. Оптимізація ресурсів: стиснення assets, видалення невикористовуваних ресурсів, конвертація PNG в VectorDrawable.
  4. Верифікація розміру: розрахунок через bundletool для 3–5 цільових пристроїв.
  5. Документація: звіт за змінами та рекомендації на майбутнє.
  6. Навчання команди: як підтримувати AAB-оптимізацію в наступних релізах.

Скорочення розміру застосунку на 15–35% прямо знижує вартість трафіку для користувачів та збільшує конверсію встановлень. Гарантуємо зниження розміру завантажуваного APK на 15–35%. Отримайте консультацію з налаштування AAB для вашого проекту — оцінимо поточну збірку та точну економію розміру.

Строки

Налаштування AAB з bundletool-верифікацією — 1–2 дні. Якщо потрібна повна оптимізація розміру, включаючи R8 tuning та texture splits — 3–5 днів. Зв'яжіться, щоб обговорити ваш конкретний випадок.