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

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

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

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

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

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

  • META-INF — тека, що містить:
Наприклад, початок файлу 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 [Архівовано 23 грудня 2015 у Wayback Machine.], apktool [Архівовано 15 липня 2018 у Wayback Machine.] або Androguard [Архівовано 20 грудня 2015 у Wayback Machine.].
  • classes.dex — скомпільовані класи в dex форматі для запуску в віртуальній машині Dalvik або в Android Runtime.
  • resources.arsc — файл, який складається з компілювальних в нього ресурсів, наприклад, бінарного XML.

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

  1. ABI Management | Android Developers. developer.android.com. Архів оригіналу за 31 травня 2019. Процитовано 2018-06-16.04.2024.
  2. Манифест приложения. Архів оригіналу за 29 липня 2018. Процитовано 2018-07-29.04.2024.

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