APK () — формат архівних файлів-застосунків для «Android». Кожний застосунок «Android» скомпільовано і упаковано в один файл, який включає в себе весь код програми (.DEX) файли), ресурси, активи і файл .manifest. Файли програми можуть мати будь-яке ім'я, але розширення повинно бути .apk. Наприклад: myAppFile.apk.
Файли з даними розширенням зберігаються в магазині «Google Play», і завантажуються з його допомогою в смартфон або планшетний комп'ютер для їх використання, або встановлюються користувачем вручну на пристроях.
Структура файлу APK-файл — це звичайний zip архів, який частіше складається з наступних тек та файлів: META-INF — тека, що містить: MANIFEST.MF — файл маніфесту; CERT.RSA — сертифікат застосунку. CERT.SF — перелік ресурсів та їхніх SHA-1 хешів у повній відповідності з переліком з файлу MANIFEST.MF. Наприклад, початок файлу MANIFEST.MF Manifest-Version: 1.0 Built-By: Generated-by-ADT Created-By: Android Gradle 2.2.1
Name: assets/www/index.html SHA1-Digest: xFthlLxvbJtTqIJv4fBb46kA4eA=
Name: res/drawable-port-ldpi-v4/screen.png SHA1-Digest: 0xgQIHIbfOrpLeNb8Awy2KsX/rk=
Name: AndroidManifest.xml SHA1-Digest: aO9ANGSRIZO0m75kd0qvEzgDdv8= Початок відповідного йому файлу CERT.SF Signature-Version: 1.0 X-Android-APK-Signed: 2 SHA1-Digest-Manifest: M9dYzdrAaHXitAfVmJy1WHSQBDE= Created-By: 1.0 (Android)
Name: assets/www/index.html SHA1-Digest: xFthlLxvbJtTqIJv4fBb46kA4eA=
Name: res/drawable-port-ldpi-v4/screen.png SHA1-Digest: 0xgQIHIbfOrpLeNb8Awy2KsX/rk=
Name: AndroidManifest.xml SHA1-Digest: aO9ANGSRIZO0m75kd0qvEzgDdv8=
lib — тека, що складається з підтек, які мають назву сімейств CPU-платформ,в яких знаходиться відкомпільований для них код: armeabi — скомпільований код для всіх ARM процесорів; armeabi-v7a — скомпільований код для всіх ARMv7 та вище процесорів; arm64-v8a — скомпільований код для всіх ARMv8 та вище процесорів; x86 — скомпільований код для x86 процесорів; x86_64 — скомпільований код для x86 64 процесорів; mips — скомпільований код для MIPS процесорів. res — тека із ресурсами (файлами), що не вкомпільовані в файл resources.arsc. assets — тека із ресурсами (файлами), які можуть бути отримані через AssetManager. AndroidManifest.xml — важливий файл, це маніфест всього застосунку, який описує назву, версію, права доступу, посилання на бібліотечні файли цього мобільного застосунку. Цей файл може бути в форматі бінарного XML, який може бути перетворено в читабельний вигляд засобами AXMLPrinter2 , apktool або Androguard . classes.dex — скомпільовані класи в dex форматі для запуску в віртуальній машині Dalvik або в Android Runtime. resources.arsc — файл, який складається з компілювальних в нього ресурсів, наприклад, бінарного XML.
Примітки
Посилання