XAPK vs APKM vs APK vs APKS — полный обзор форматов
Какой формат Android-пакета к чему, что внутри, откуда берётся и какой инструмент нужен для установки.
Обновлено
Google Play внутри раздаёт приложения как split-APK бандлы, но при загрузке Android-приложения со стороннего источника вы видите файлы с расширениями .apk, .xapk, .apkm или .apks. На выходе все они ставят приложение на телефон, но структурно это разные форматы от разных поставщиков, и штатный установщик Android открывает только один из них. Это руководство кладёт их бок о бок, чтобы никогда не гадать.
Сравнение в одной таблице
| Формат | Что внутри | Кто производит | Типичный размер | Открывает штатный установщик? |
|---|---|---|---|---|
| APK | Один устанавливаемый Android-пакет | Любая сборочная система Android | 10–100 МБ | Да |
| XAPK | APK + данные OBB + опциональные split, в ZIP | APKPure | 40 МБ – 2 ГБ | Нет — нужен X-Installer |
| APKM | Базовый APK + split под архитектуру/локаль/плотность | APKMirror | 20–500 МБ | Нет — нужен X-Installer |
| APKS | Split APK из AAB или собранные SAI | SAI, bundletool, Android App Bundle | 20–500 МБ | Нет — нужен X-Installer |
| ZIP | Любой из вышеперечисленных внутри ZIP-архива | Разные источники sideload | Разный | Нет — нужен X-Installer |
APK — базовый формат
Обычный APK (.apk) — подписанный устанавливаемый Android-пакет. Содержит скомпилированный код (DEX), ресурсы, AndroidManifest и блок подписи. PackageInstaller Android открывает любой APK напрямую — это привычный поток «Установка из неизвестных источников».
APK подходит для маленьких или однопроцессорных приложений. Плох, когда нужны бинарники под разные CPU или языковые ресурсы: один APK вынужден везти все варианты на каждое устройство, раздувая размер. Поэтому существуют split-форматы ниже.
XAPK — «игровой» бандл APKPure
XAPK (.xapk) — архивный формат APKPure. Внутри это ZIP с базовым APK, обычно набором split APK и почти всегда данными OBB. OBB — это место, где тяжёлые игры хранят текстуры, звук и уровни: за 30 МБ APK может стоять 1 ГБ OBB.
Поскольку штатный установщик не копирует OBB в /Android/obb/, ручная установка игры из XAPK означает распаковку архива, копирование файлов по нужным путям и только потом запуск APK. X-Installer делает всё это за одно нажатие.
APKM — split-бандл APKMirror
APKM (.apkm) — аналог AAB-бандла от APKMirror. Внутри — ZIP с одним базовым APK плюс конфигурационными split (под CPU ABI, плотность экрана, язык). APKMirror публикует APKM, чтобы одна загрузка подходила любому устройству — установщик выбирает нужные части на лету.
В APKM обычно нет OBB (APKMirror хостит игры, только если они вписываются в split-модель), поэтому установка идёт быстрее, чем у XAPK того же приложения. Штатный Android всё равно не откроет ZIP с несколькими APK — нужен установщик, умеющий этот формат.
APKS — формат SAI / bundletool
APKS (.apks) — выход SAI (Split APKs Installer) и CLI bundletool от Google, предназначенного для работы с Android App Bundle. Структурно это та же идея, что APKM: базовый APK + split в ZIP, просто другое расширение и метаданные.
APKS встречается, когда разработчики экспортируют .aab в sideload-архив или кто-то перепаковывает Play-приложение с помощью SAI. Любой инструмент, читающий APKM, обычно читает и APKS — включая X-Installer.
Какой у меня формат?
Расширение только .apk?
Обычный APK. Нажмите — и системный установщик Android сделает остальное.
.xapk и это игра?
XAPK с OBB. Открывайте X-Installer — ручная распаковка ошибочно-прона.
.apkm?
Split-бандл APKMirror. Используйте X-Installer (собственный установщик APKMirror тоже работает, но только под Android и с рекламой).
.apks?
Вывод SAI / bundletool. Подойдёт X-Installer или SAI — оба работают.
.zip с APK внутри?
Общий контейнер. X-Installer смотрит содержимое, определяет формат и ставит.
Поддержка версий Android
Все четыре формата устанавливаются на любой Android-версии, поддерживаемой самим X-Installer — Android 7.0 (API 24) и выше.