APK (формат файлу)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
APK
APK format icon.png
Розширення файлу: .APK
MIME-тип: application/vnd.android.package-archive
Тип формату: система управління пакетами, архів
Контейнер для: пакет прикладних програм
Розширений з: .JAR

APK (англ. Android Package) — формат архівних файлів-додатків для «Android». Кожний додаток «Android» скомпільовано і упаковано в один файл, який включає в себе весь код програми (.DEX) файли), ресурси, активи і файл .manifest. Файл програми може мати будь-яке ім'я, але розширення повинно бути .apk. Наприклад: myAppFile.apk.

Файли з даними розширенням зберігаються в магазині «Google Play», і завантажуються з його допомогою в смартфон або планшетний комп'ютер для їх використання, або встановлюються користувачем вручну на пристрої.

Структура файлу[ред. | ред. код]

APK-файл — це звичайний zip-ахів, який частіше складається з наступних тек та файлів:

Наприклад, початок файлу 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 та вище процесорів;[1]
    • x86 — скомпільований код для x86 процесорів;
    • x86_64 — скомпільований код для x86 64 процесорів;
    • mips — скомпільований код для MIPS процесорів.
  • res — тека із ресурсами (файлами), що не вкомпільовані в файл resources.arsc.
  • assets — тека із ресурсами (файлами), які можуть бути отримані через AssetManager.
  • AndroidManifest.xml — важливий файл, це маніфест всього додатку, який описує назву, версію, права доступу, посилання на бібліотечні файли цього мобільного додатку.[2] Цей файл може бути в форматі бінарного XML, який може бути перетворено в читабельний вигляд засобами AXMLPrinter2, apktool або Androguard.
  • classes.dex — скомпільовані класи в dex форматі для запуску в віртуальній машині Dalvik або в Android Runtime.
  • resources.arsc — файл, який складається з компілювальних в нього ресурсів, наприклад, бінарного XML.

Примітки[ред. | ред. код]

  1. ABI Management | Android Developers. developer.android.com. Процитовано 2018-06-16.09.2019. 
  2. Манифест приложения. Процитовано 2018-07-29.09.2019. 

Посилання[ред. | ред. код]