Формат APK (Android Package) — это обычный ZIP-архив с расширением .apk, в котором Android хранит всё для установки приложения: манифест, скомпилированный код, ресурсы и подпись. Переименуйте файл в .zip и распакуйте — увидите AndroidManifest.xml, classes.dex, resources.arsc и папки res/, lib/, assets/, META-INF/.

Ниже — что лежит внутри каждого элемента, чем открыть APK, как устроена подпись, чем формат отличается от AAB и откуда безопасно скачивать файлы.

  • APK — это ZIP-контейнер, разложить его можно любым архиватором (7-Zip, WinRAR).
  • Обязательный минимум внутри: AndroidManifest.xml, classes.dex, resources.arsc, META-INF/.
  • Код лежит в .dex-файлах (байт-код для Android Runtime), нативные библиотеки — в lib/ по архитектурам процессора.
  • Без валидной подписи в META-INF или в блоке подписи Android приложение не установит.
  • AAB (.aab) — не то же самое: это формат публикации, из которого Google Play сам собирает оптимизированные APK под конкретное устройство.

Что такое формат APK

APK расшифровывается как Android Package (иногда пишут Android Package Kit) — это стандартный формат пакета, которым Android распространяет и устанавливает приложения, игры и системные компоненты. Технически APK построен на ZIP: это тот же архив, что и .zip, только с другим расширением и строгим набором обязательных файлов внутри. Поэтому первое, что стоит запомнить: любой APK можно открыть архиватором и посмотреть содержимое без специальных инструментов.

Внутри лежит скомпилированный набор: исполняемый код, ресурсы интерфейса, дополнительные активы, нативные библиотеки, сертификаты и файл манифеста. Всё это упаковано в один файл ради удобства раздачи и установки. Когда вы качаете приложение из Google Play или из стороннего источника, на устройство приходит именно APK (или несколько APK, собранных из App Bundle — об этом ниже).

ОБЗОРНЫЙ ПРАКТИКУМ ПО НАШУМЕВШИМ НЕЙРОСЕТЯМ
Нейросети DEEPSEEK И QWEN За 2 часа сделаем полный обзор новых мощных ИИ-моделей, которые бросают вызов нейросети ChatGPT
ТОП-подарки всем участникам лекции:
  • Возможность получить Доступ в Нейроклуб на целый месяц
  • Как ИИ ускоряет работу и приносит деньги
  • За 2 часа вы получите четкий план, как начать работать с ИИ прямо сейчас!

Структура APK: что внутри архива

Что внутри APK: структура ZIP-архива
Что внутри APK: структура ZIP-архива

Разберём формат APK по элементам. Ниже — таблица «файл или папка → назначение», по ней удобно ориентироваться при первом вскрытии архива.

Файл / папка Назначение
AndroidManifest.xml Обязательный файл-описание приложения: имя пакета, версия, список компонентов (активности, сервисы, приёмники, провайдеры) и запрашиваемые разрешения. Внутри APK хранится в бинарном виде, а не как обычный текстовый XML.
classes.dex Скомпилированный код (Java/Kotlin) в формате Dalvik Executable — байт-код, который исполняет Android Runtime (ART). Из-за ограничений формата DEX кода может быть несколько файлов: classes.dex, classes2.dex, classes3.dex и так далее.
resources.arsc Предкомпилированные ресурсы: связывает код со строками, размерами, стилями и переводами. Например, код ссылается на текст диалога, а resources.arsc хранит этот текст на всех языках — система подставит нужный по локали устройства.
res/ Ресурсы, разложенные по папкам: изображения (drawable), макеты интерфейса (layout), значения (values). Часть из них индексируется через resources.arsc.
lib/ Нативные библиотеки (.so) под конкретные архитектуры процессора: arm64-v8a, armeabi-v7a, x86, x86_64. Устройство берёт папку под свою архитектуру.
assets/ Произвольные файлы, которые приложение читает напрямую: шрифты, звуки, конфиги, локальные базы. В отличие от res/, они не индексируются и достаются по имени.
META-INF/ Метаданные и подпись пакета (схема v1): манифест архива, список контрольных сумм и сертификат. По этим данным система проверяет целостность и авторство.

Мини-вывод: обязательны для запуска манифест, хотя бы один .dex, resources.arsc и подпись. Папки res/, lib/, assets/ появляются по мере того, как приложению нужны ресурсы, нативный код или сырые файлы.

Как собирается APK

Понимание структуры проще даётся, если знать, откуда берётся каждый файл. Сборка идёт по шагам: ресурсы из res/ компилируются и упаковываются в resources.arsc, а манифест переводится в бинарный XML; исходники на Java и Kotlin компилируются в байт-код и складываются в один или несколько .dex; всё это вместе с assets/ и нативными библиотеками из lib/ пакуется в ZIP-контейнер; затем архив подписывается и выравнивается (zipalign) для быстрого доступа к ресурсам при выполнении. Именно поэтому в готовом APK манифест бинарный, а не текстовый, и почему .dex-файлов может быть больше одного.

Отдельно стоит знать про split APK: когда Google Play собирает приложение из App Bundle, он может отдать не один файл, а набор — базовый APK плюс конфигурационные (под архитектуру, плотность экрана, язык). На устройстве они работают как единое приложение. Поэтому «скачанный из Play» пакет и «один APK от разработчика» — не всегда одно и то же по числу файлов.

Как посмотреть содержимое APK

Есть три уровня погружения — от «просто заглянуть» до полноценного анализа.

  • Архиватор. Самый быстрый способ: скопируйте APK, поменяйте расширение на .zip и откройте в 7-Zip или WinRAR. Увидите дерево файлов и папок. Минус — AndroidManifest.xml и resources.arsc в бинарном виде, читать их так неудобно.
  • apktool. Консольная утилита, которая декодирует ресурсы и манифест обратно в читаемый вид, разбирает .dex в smali и позволяет пересобрать APK. Стандартный инструмент, когда нужно разобрать пакет, а не просто на него посмотреть.
  • APK Analyzer в Android Studio. Встроенный анализатор. Открывается тремя путями: перетащить APK в окно редактора, дважды кликнуть APK в папке build/output/apks/ в режиме Project или выбрать в меню Build → Analyze APK. Он показывает состав DEX-файлов, финальную версию AndroidManifest.xml, ресурсы и — важно для оптимизации — «raw file size» и оценку размера загрузки для каждого элемента, каким его отдаст Google Play.

Для реверс-инжиниринга кода к этому набору добавляют dex2jar (конвертирует DEX в JAR), JD-GUI или JADX для просмотра восстановленного Java-кода. Но для базовой задачи «что внутри APK» хватает архиватора и APK Analyzer. Документация по APK Analyzer описывает интерфейс подробно.

Подпись APK: почему без неё не установить

Android не установит приложение без действительной цифровой подписи — она подтверждает, что пакет не изменён после сборки и выпущен тем же ключом, что и предыдущие версии. Схем подписи несколько, и они наслаиваются:

  • v1 (JAR signing) — исходная схема на базе подписанного JAR. Подпись и контрольные суммы лежат в папке META-INF. Слабое место: v1 не защищает часть архива, например ZIP-метаданные.
  • v2 — появилась в Android 7.0. Хешируется и подписывается весь APK целиком, а блок подписи вставляется в файл. Любое изменение архива, включая ZIP-метаданные, ломает подпись.
  • v3 — с Android 9. Тот же механизм проверки, что в v2, плюс дополнительная информация в блоке подписи (в том числе для ротации ключа).
  • v4 — более новая схема поверх предыдущих.

Практика от разработчиков платформы: подписывать всеми схемами сразу — сначала v1, затем v2 и v3. Старые устройства читают v1 и игнорируют новые блоки, а свежие получают усиленную защиту. Мини-вывод: подпись — не формальность, а условие установки и обновления; пересобранный «пиратский» APK теряет оригинальную подпись, и система это видит.

Чем APK отличается от AAB (Android App Bundle)

APK и AAB часто путают, но это разные вещи. APK — то, что реально ставится на устройство. AAB (.aab) — формат публикации: в нём весь скомпилированный код и ресурсы, но сборку и подпись финальных APK Google Play берёт на себя. Из одного бандла магазин генерирует оптимизированные APK под каждую конфигурацию устройства, чтобы пользователь скачивал только нужный код и ресурсы — например, библиотеки под свою архитектуру процессора и графику под своё разрешение.

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

Признак APK AAB
Что это Готовый к установке пакет Формат публикации в магазине
Расширение .apk .aab
Кто собирает финал Разработчик Google Play из бандла
Размер загрузки Один файл под все конфигурации Только нужное конкретному устройству
Устанавливается напрямую Да Нет, сначала магазин собирает APK

Как установить APK-файл

Google Play ставит приложения сам. Но APK можно установить и вручную — это называют сайдлоадингом. Порядок такой:

  • Скачайте .apk на устройство.
  • При первой попытке установки Android попросит разрешить установку из этого источника (браузера, файлового менеджера) — начиная с Android 8.0 разрешение выдаётся не глобально, а конкретному приложению-источнику.
  • Откройте файл, подтвердите список разрешений из манифеста, дождитесь установки.

При установке система распаковывает APK, размещает файлы на устройстве, регистрирует пакет и выдаёт разрешения согласно AndroidManifest.xml. Если подпись невалидна или конфликтует с уже установленной версией того же пакета, установка не пройдёт.

Безопасность: откуда качать APK

Формат APK открытый, поэтому в файл легко «зашить» лишнее. Базовые правила гигиены:

  • Приоритет — официальные магазины (Google Play) и сайты самих разработчиков. Сторонние «зеркала» APK — источник повышенного риска.
  • Модифицированный APK теряет оригинальную подпись. Если приложение из «неофициальной сборки» просит переустановку с удалением исходной версии — это красный флаг.
  • Смотрите на запрашиваемые разрешения. Фонарику не нужен доступ к SMS и списку контактов — манифест это покажет.
  • Перед установкой сомнительного файла разберите его тем же APK Analyzer или архиватором: неожиданный набор .dex, чужие библиотеки в lib/ или подозрительные ресурсы — повод отказаться.

Мини-вывод: сам факт «это APK» ничего не гарантирует — гарантирует источник и подпись. Открытость формата одновременно даёт и удобство анализа, и поверхность для злоупотреблений.

FAQ по формату APK

Формат APK — это архив?

Да. APK построен на ZIP: это тот же архив, только с расширением .apk и обязательным набором файлов внутри (манифест, код, ресурсы, подпись). Открывается любым архиватором.

Чем открыть APK-файл на компьютере?

Для быстрого просмотра — 7-Zip или WinRAR (можно переименовать в .zip). Для читаемого разбора манифеста и ресурсов — apktool или встроенный APK Analyzer в Android Studio.

Что за файл classes.dex внутри APK?

Это скомпилированный код приложения в формате Dalvik Executable — байт-код для Android Runtime. Файлов может быть несколько: classes.dex, classes2.dex и далее, потому что формат DEX ограничивает число методов в одном файле.

Чем APK отличается от AAB?

APK — готовый к установке пакет. AAB — формат публикации, из которого Google Play собирает оптимизированные APK под каждое устройство. С августа 2021 новые приложения в Play публикуются как AAB, но на телефон всё равно приходит APK.

Почему APK не устанавливается?

Частые причины: невалидная или отсутствующая подпись, конфликт с уже установленной версией того же пакета, несовместимая архитектура (нет нужной папки в lib/), не выдано разрешение на установку из данного источника или повреждённый архив.

Безопасно ли ставить APK не из Google Play?

Зависит от источника. Файл с сайта самого разработчика обычно безопасен, случайное «зеркало» — нет. Проверяйте подпись, запрашиваемые разрешения и по возможности содержимое архива перед установкой.

РОССИЙСКИЕ НЕЙРОСЕТИ ДЛЯ ЖИЗНИ И КАРЬЕРЫ В 2025
Присоединяйся к онлайн-вебинару.
В прямом эфире разберем и потестируем лучшие на сегодняшний день отечественные ИИ!
Вы узнаете о том:
  • Выполним базовые задачи на российских нейросетях и посмотрим на результаты!
  • Файл-инструкцию «Как сделать нейро-фотосессию из своего фото бесплатно, без иностранных карт и прочих сложностей»
  • Покажем 10+ способов улучшить свою жизнь с ИИ каждому — от ребенка и пенсионера до управленца и предпринимателя
Участвовать бесплатно
ОБЗОРНЫЙ ПРАКТИКУМ ПО НАШУМЕВШИМ НЕЙРОСЕТЯМ
Нейросети DEEPSEEK И QWEN
За 2 часа сделаем полный обзор новых мощных ИИ-моделей, которые бросают вызов нейросети ChatGPT
Вы узнаете:
  • Возможность получить Доступ в Нейроклуб на целый месяц
  • Как ИИ ускоряет работу и приносит деньги
  • За 2 часа вы получите четкий план, как начать работать с ИИ прямо сейчас!
Участвовать бесплатно