Разделённые APK и Android App Bundle простыми словами

1 мин чтения · Обновлено 2026-09-05

Advertisement

От одного APK к нескольким

Раньше приложение было одним APK с кодом и ресурсами под любой размер экрана, язык и процессор. С августа 2021 года Google Play требует загружать новые приложения в виде Android App Bundle (.aab). Play хранит бандл и при каждой загрузке генерирует набор APK, из которых приложение состоит на конкретном устройстве.

Составные части

  • base.apk: код и ресурсы, общие для всех устройств. Устанавливается отдельно, только если приложение так собрано; большинство современных приложений — нет.
  • Части конфигурации: split_config.arm64_v8a.apk (нативный код под процессор), split_config.xxhdpi.apk (изображения под плотность экрана), split_config.en.apk, split_config.ru.apk (строки языков). Устройство получает по одной каждого вида.
  • Части функций: необязательные модули, которые приложение скачивает по требованию, например редактор или функцию камеры.

Все части одного приложения имеют общее имя пакета, код версии и подпись. Android устанавливает их в одной сессии и считает одним приложением.

Почему установка только base.apk не работает

Приложение запускается, ищет ресурс или нативную библиотеку, лежащую в отдельной части, и падает с Resources$NotFoundException или UnsatisfiedLinkError, либо установщик отказывает с INSTALL_FAILED_MISSING_SPLIT. Поэтому XAPK нужно устанавливать целиком; см. установку разделённых APK через SAI.

Как зеркала обходятся с бандлами

Поскольку Play генерирует наборы под устройство, зеркало хранит либо универсальный APK (сборку разработчика одним файлом, содержащую все конфигурации, — крупнее, но ставится где угодно), либо XAPK с базой и частями самой распространённой конфигурации (arm64, xxhdpi, несколько языков). На страницах версий здесь у каждого файла указан формат, так что для необычного устройства можно выбрать универсальный APK, а для современного телефона — XAPK.

Как проверить, что стоит на устройстве

App Manager или SAI перечисляют части установленного приложения в его сведениях. adb shell pm path <пакет> выводит каждый файл APK приложения, по одному в строке. Приложение с одной строкой установлено как универсальный или однофайловый пакет.

В инструкции описано общее поведение Android; названия пунктов меню зависят от производителя и версии. Загрузки на этом сайте идут с проверенных сторонних зеркал и никогда не изменяются нами.

Другие инструкции

Advertisement