Настройка Android App Bundle (AAB) для оптимизации размера

Настройка Android App Bundle (AAB) для оптимизации размера С момента введения требований Google Play AAB стал обязательным форматом для новых приложений. Но простая конвертация APK в AAB не гарантирует уменьшения размера — мы видим это на каждом втором проекте. Без правильной конфигурации splits,

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, 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 дней. Свяжитесь, чтобы обсудить ваш конкретный случай.