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
— файл маніфесту;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 та вище процесорів;[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.
- ↑ ABI Management | Android Developers. developer.android.com. Архів оригіналу за 31 травня 2019. Процитовано 2018-06-16.10.2024.
- ↑ Манифест приложения. Архів оригіналу за 29 липня 2018. Процитовано 2018-07-29.10.2024.
- Hatem Ben Yacoub (19 січня 2008). Tips: How to install apk files on Android Emulator. Open Handset Magazine. Архів оригіналу за 26 травня 2012. Процитовано 30 серпня 2014.