Файл APK - это архив, который обычно содержит следующие файлы и каталоги:
Каталог META-INF:
MANIFEST.MF: файл манифеста
CERT.RSA: сертификат заявки.
CERT.SF: список ресурсов и дайджест SHA-1 соответствующих строк в файле MANIFEST.MF; например:
Подпись-Версия: 1.0
Создано: 1.0 (Android)
SHA1-дайджест-манифест: wxqnEAI0UA5nO5QJ8CGMwjkGGWE =
...
Имя: res / layout / exchange_component_back_bottom.xml
SHA1-дайджест: eACjMjESj7Zkf0cBFTZ0nqWrt7w =
Имя: res / drawable-hdpi / icon.png
SHA1-дайджест: DGEqylP8W0n0iV / ZzBx3MW0WGCA =
lib: каталог, содержащий скомпилированный код, зависящий от платформы, каталог разбит на несколько каталогов:
armeabi: скомпилированный код только для всех процессоров на базе ARM
armeabi-v7a: скомпилированный код только для всех процессоров на базе ARMv7 и выше
arm64-v8a: скомпилированный код только для всех процессоров ARMv8 arm64 и выше [8]
x86: скомпилированный код только для процессоров x86
x86_64: скомпилированный код только для процессоров x86 64
mips: скомпилированный код только для процессоров MIPS
res: каталог, содержащий ресурсы, не скомпилированные в resources.arsc (см. Ниже).
assets: каталог, содержащий ресурсы приложений, которые можно получить с помощью
Менеджер активов.
AndroidManifest.xml: дополнительный файл манифеста Android, описывающий имя, версию,
права доступа, ссылки на библиотечные файлы для приложения. Этот файл может быть в двоичном XML-коде Android, который может быть преобразован в понятный человеку текстовый XML-файл с помощью таких инструментов, как AXMLPrinter2, apktool или Androguard.
classes.dex: Классы, скомпилированные в формате файла dex, понятном для виртуальной машины Dalvik и для среды выполнения Android.
resources.arsc: файл, содержащий предварительно скомпилированные ресурсы, например, бинарный XML.
Итак, APK предполагает наличие всех двоичных файлов и ресурсов для использования вашего приложения.