Android Package ( APK ) [1] - это формат файла пакета , используемый операционной системой Android и рядом других операционных систем на базе Android для распространения и установки мобильных приложений , мобильных игр и промежуточного программного обеспечения .
Расширение имени файла | .apk , .xapk , .apks ,.apkm |
---|---|
Тип интернет-СМИ | application/vnd.android.package-archive |
Тип формата | Формат упаковки |
Контейнер для | Мобильные приложения |
Расширен с | БАНКА |
APK аналогична другим программных пакетов , таких как APPX в Microsoft Windows или его пакет Debian в Debian -На операционных систем. Чтобы создать файл APK, программа для Android является первым скомпилированы с использованием Android Studio , [2] , а затем все его части упакованы в один файл контейнера. Файл APK содержит весь код программы (например, файлы .dex ), ресурсы, активы, сертификаты и файл манифеста . Как и в случае со многими форматами файлов, файлы APK могут иметь любое необходимое имя, но для распознавания может потребоваться, чтобы имя файла заканчивалось расширением файла .[3] [4] [5] [6]
Система Android позволяет пользователям вручную устанавливать файлы APK только после того, как они включили параметр «Неизвестные источники», который разрешает установку из источников, отличных от надежных, таких как Google Play. Это может быть сделано по многим причинам, например, чтобы установить приложения, которых нет в магазине, или установить более старую версию. [7] Хотя таким образом можно понизить версию приложения, предварительно удалив новую версию, лучше сделать это через Android Debug Bridge, поскольку он позволяет хранить данные. [8]
Содержимое пакета
Файл APK - это архив, который обычно содержит следующие файлы и каталоги:
META-INF
каталог:MANIFEST.MF
: файл манифеста- Свидетельство о приложении.
CERT.SF
: Список ресурсов и дайджест SHA-1 соответствующих строк в файле MANIFEST.MF; Например:Подпись-Версия: 1.0Автор: 1.0 (Android)SHA1-дайджест-манифест: wxqnEAI0UA5nO5QJ8CGMwjkGGWE =...Имя: res / layout / exchange_component_back_bottom.xmlSHA1-дайджест: eACjMjESj7Zkf0cBFTZ0nqWrt7w =Имя: res / drawable-hdpi / icon.pngДайджест SHA1: DGEqylP8W0n0iV / ZzBx3MW0WGCA =
lib
: каталог, содержащий скомпилированный код, который зависит от платформы; каталог разделен на несколько каталогов внутри него:armeabi-v7a
: скомпилированный код только для всех процессоров на базе ARMv7 и вышеarm64-v8a
: скомпилированный код только для всех процессоров на базе ARMv8 arm64 и выше [9]x86
: скомпилированный код только для процессоров x86x86_64
: Скомпилированный код для x86 64 только процессоровиmips
устарели с NDK r17 [10] [11]armeabi
res
: каталог, содержащий ресурсы, не скомпилированные в resources.arsc (см. ниже).assets
: каталог, содержащий ресурсы приложений, которые можно получить с помощьюAssetManager
.AndroidManifest.xml
: Дополнительный файл манифеста Android, описывающий имя, версию, права доступа и файлы библиотеки, на которые есть ссылки для приложения. Этот файл может быть в двоичном формате XML Android, который можно преобразовать в понятный для человека текст XML с помощью таких инструментов, как AXMLPrinter2 , apktool или Androguard .classes.dex
: Классы, скомпилированные в формате файла dex, понятном виртуальной машине Dalvik и среде выполнения Android .resources.arsc
: файл, содержащий предварительно скомпилированные ресурсы, например двоичный XML.
Смотрите также
Рекомендации
- ^ «Основы приложений | Разработчики Android» . Разработчики Android . Проверено 3 декабря 2018 .
- ^ «Студия приложений | Android Studio» . Разработчики Android .
- ^ «Внутри Android Application Framework» (видео) . Сайты Google . 2008 г.
- ^ Хатем Бен Якуб (20 апреля 2018 г.). «Советы: как установить apk-файлы на Android-эмулятор» . Откройте журнал Ha . Архивировано из оригинала на 2012-05-26.
- ^ «Структура файлов пакета Android (APK)» . OPhone SDN . Сеть разработчиков программного обеспечения OPhone. 17 ноября 2010 года Архивировано из оригинала 8 февраля 2011 года.
- ^ Eagleapk (2 января 2021 г.). "Ваш универсальный магазин для всех приложений!" . Форум разработчиков SDX . Орел APK. Архивировано 5 января 2021 года.
- ^ «Неизвестные источники: все, что вам нужно знать!» . Android Central . 27 июля 2018.
- ^ «Как понизить версию приложения на Android - рут не требуется» . xda-developers . 25 августа 2017.
- ^ «ABI Management | Разработчики Android» . developer.android.com . Проверено 16 июня 2018 .
- ^ «Android ABI | Android NDK» . Разработчики Android . Проверено 14 августа 2020 .
Примечание: Исторически NDK поддерживал ARMv5 (armeabi), а также 32-битные и 64-битные MIPS, но поддержка этих ABI была удалена в NDK r17.
- ^ Дэн, Альберт (5 сентября 2018 г.). "Список изменений r17" . GitHub . Проверено 14 августа 2020 .
Поддержка ARMv5 (armeabi), MIPS и MIPS64 была удалена. Попытка построить любой из этих ABI приведет к ошибке.