APK (формат файлу)
APK (англ. Android Package) — формат архівних файлів-додатків для «Android». Кожний додаток «Android» скомпільовано і упаковано в один файл, який включає в себе весь код програми (.DEX
) файли), ресурси, активи і файл .manifest
. Файл програми може мати будь-яке ім'я, але розширення повинно бути .apk
. Наприклад: myAppFile.apk
.
Розширення файлу: |
. |
---|---|
MIME-тип: |
application/vnd.android.package-archive |
Тип формату: | система управління пакетами, архів |
Контейнер для: | пакет прикладних програм |
Розширений з: | .JAR |
Файли з даними розширенням зберігаються в магазині «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, apktool або Androguard.classes.dex
— скомпільовані класи в dex форматі для запуску в віртуальній машині Dalvik або в Android Runtime.resources.arsc
— файл, який складається з компілювальних в нього ресурсів, наприклад, бінарного XML.
Примітки
- ABI Management | Android Developers. developer.android.com. Процитовано 2018-06-16.02.2022.
- Манифест приложения. Процитовано 2018-07-29.02.2022.
Посилання
- Hatem Ben Yacoub (19 січня 2008). Tips: How to install apk files on Android Emulator. Open Handset Magazine. Архів оригіналу за 26 травня 2012. Процитовано 30 серпня 2014.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.