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

Розмір застосунку безпосередньо впливає на конверсію встановлень і рейтинг у Google Play. Ми налаштовуємо Android App Bundle (AAB) так, щоб кожен користувач завантажував лише потрібні компоненти — без зайвих бібліотек і ресурсів. Наша команда реалізує проєкт під ключ: від конфігурації splits і texture compression до оптимізації R8/ProGuard, забезпечуючи стабільну роботу та подальшу підтримку.

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

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

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

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

Налаштування 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 днів. Зв'яжіться, щоб обговорити ваш конкретний випадок.

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

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

  • Розробка мобільного додатка для компанії FEEDME
    Розробка мобільного додатка для компанії FEEDME
    1009
  • Розробка мобільного додатку для компанії XOOMER
    Розробка мобільного додатку для компанії XOOMER
    902
  • Розробка мобільного додатку для компанії RHL
    Розробка мобільного додатку для компанії RHL
    1331
  • Розробка мобільного додатку для компанії ZIPPY
    Розробка мобільного додатку для компанії ZIPPY
    1179
  • Розробка мобільного додатку для компанії Affhome
    Розробка мобільного додатку для компанії Affhome
    1106
  • Розробка мобільного додатку для компанії FLAVORS
    Розробка мобільного додатку для компанії FLAVORS
    713