Android App Bundle

3 года назад

Nikolai Gagarinov

Ответы

1

Android App Bundle — это формат публикации Android-приложений, который содержит полную структуру ресурсов и кода, используемую для дальнейшей генерации оптимизированных установочных пакетов под конкретное устройство. Файл имеет расширение .aab и служит универсальным контейнером, из которого Google Play формирует индивидуальные APK-файлы. Формат внедрен как основной для распространения мобильных приложений, поскольку уменьшает размер установочных файлов, ускоряет развертывание и облегчает поддержку версий.

Для чего нужен Android App Bundle

Переход к AAB связан с ростом фрагментации Android-экосистемы. Разработчикам требуется формат, который адаптируется под конфигурацию устройства пользователя. AAB решает эту задачу за счет автоматического формирования APK внутри инфраструктуры Google Play.

Формат используется для оптимизации нескольких ключевых процессов:

  1. уменьшения объема установочных файлов;

  2. настройки распространения в зависимости от аппаратных параметров устройства;

  3. поддержки многообразия конфигураций без увеличения нагрузки на разработчика;

  4. централизованного управления версиями и метаданными;

  5. упрощения развертывания обновлений.

Использование единого пакета снижает число артефактов, которые требуется собирать, тестировать и публиковать. Это влияет на стабильность релизов и уменьшает вероятность ошибок, связанных с несовместимостью отдельных сборок.

Чем различаются AAB и APK

Классический APK представляет собой один статичный пакет, включающий все варианты ресурсов, кода и конфигураций, независимо от того, нужны они устройству конечного пользователя или нет. Такой подход приводит к увеличению размера файла и усложняет обслуживание версий.

Android App Bundle устроен иначе. Это контейнер, содержащий набор модулей приложения. При установке Google Play анализирует параметры устройства — архитектуру процессора, конфигурацию экрана, версию системы, используемые языки — и генерирует минимальный возможный APK, включающий только необходимые компоненты.

Основные различия:

  1. Структура поставки

    1. APK распространяется как готовый бинарный файл.

    2. AAB служит источником для формирования набора "разделенных APK" (Split APKs).

  2. Состав ресурсов

    1. APK включает ресурсы всех конфигураций.

    2. AAB позволяет генерировать сборки с минимальным набором данных.

  3. Механизм обновления

    1. APK обновляется только целиком.

    2. AAB формирует дифференциальные пакеты, уменьшая размер обновлений.

  4. Управление и аналитика

    1. Для APK отсутствуют встроенные инструменты анализа.

    2. AAB интегрирован с App Bundle Explorer, через который доступны статистика, версии, метаданные.

Таким образом, один файл AAB заменяет множество APK-сборок, традиционно выпускаемых для различных устройств и системных конфигураций.

Принцип работы Android App Bundle

Работа формата построена на разделении этапов сборки и доставки. Разработчик собирает AAB-пакет и загружает его в Google Play. Далее магазин формирует установочные APK для каждого пользователя отдельно.

Процесс включает несколько стадий:

  1. анализ устройства и выбор требуемых модулей;

  2. генерация Base APK и Split APK наборов;

  3. доставка минимального комплекта, необходимого для корректной работы приложения;

  4. формирование новых Split APK при изменении конфигурации системы (например, смене языка или размеров экрана).

Разделенные APK содержат ограниченный набор функций и ресурсов, поэтому занимают меньше места. Они загружаются и обновляются быстрее стандартных монолитных пакетов. Пользователь получает оптимизированную сборку без избыточных данных.

Особенности AAB

Малый вес

Использование AAB уменьшает итоговый размер приложения в среднем на 15%. Экономия достигается за счет исключения неиспользуемых ресурсов и точечного формирования пакета под устройство. Это снижает трафик при загрузке и уменьшает занимаемую память. Компактность сборки повышает вероятность установки и улучшает пользовательский опыт.

Управление сборками

Работа с App Bundle Explorer позволяет:

  1. контролировать версии и каналы распространения;

  2. анализировать состав модулей и их влияние на размер приложения;

  3. просматривать статистику инсталляций и обновлений;

  4. выполнять откат к предыдущей версии или менять конфигурацию пакета.

Централизованное управление снижает трудозатраты на выпуск и обслуживание версий.

Интеграция с Google Play

Формат AAB тесно связан с экосистемой Google. Генерация APK и их подписание выполняются в облачной инфраструктуре магазина. Это изменяет подход к разработке: локальная сборка и ручное управление ключами отходят на второй план.

Google Play:

  1. формирует оптимизированные APK;

  2. обеспечивает хранение и защиту ключей подписи;

  3. использует Play Feature Delivery и Play Asset Delivery для гибкого управления модулями.

Разработчики могут управлять сертификатами локально, но ключевая роль в процессе подписи переходит к Google Play.

Ответственность за безопасность

В модели APK разработчик полностью контролирует подпись приложения. При использовании AAB создаваемые Google Play APK подписываются ключами, которые хранятся на стороне Гугл. Это переносит часть ответственности за безопасность, целостность пакета на инфраструктуру магазина.

Разработчик может сохранить копию сертификата и использовать его для верификации, однако механизм конечной подписи находится под управлением Google Play.

месяц назад

Nikolai Gagarinov

0

Android App Bundle — это формат распространения приложений для Android, разработанный компанией Google. Он позволяет оптимизировать размер приложения и ускорить загрузку, так как отправляет только необходимые ресурсы для каждого устройства. App Bundle использует анализ данных и машинное обучение для определения того, какие ресурсы нужны большинству устройств, и отправляет только эти ресурсы. Это помогает уменьшить размер приложения и улучшить пользовательский опыт.

2 года назад

Елена Редькина