apk (формат файла)
Расширение имени файла | .apk , .apks , .aab , .xapk , .apkm , .akp |
---|---|
Тип интернет-СМИ | application/vnd.android.package-archive |
Тип формата | Формат упаковки |
Контейнер для |
|
Расширено с | БАНКА |
Пакет Android с расширением файла apk. [1] — формат файла , используемый операционной системой Android и рядом других операционных систем на базе Android для распространения и установки мобильных приложений , мобильных игр и промежуточного программного обеспечения . Файл, использующий этот формат, может быть создан из исходного кода, написанного на Java или Kotlin .
Файлы APK можно создавать и подписывать с помощью пакетов приложений Android . [2]
Обзор
APK аналогичен другим пакетам программного обеспечения, таким как APPX в Microsoft Windows , APP для HarmonyOS или пакету Debian в операционных системах на базе Debian . Чтобы создать APK-файл, сначала компилируется программа для Android с помощью такого инструмента, как Android Studio. [3] или Visual Studio , а затем все его части упаковываются в один файл-контейнер. Файл APK содержит весь код программы (например, файлы .dex ), ресурсы, активы, сертификаты и файл манифеста . Как и в случае со многими форматами файлов, файлы APK могут иметь любое необходимое имя, но может потребоваться, чтобы имя файла заканчивалось расширением файла, чтобы его можно было распознать как таковое. [4] [5] [6]
Большинство реализаций Android позволяют пользователям вручную устанавливать APK-файлы только после включения параметра «Неизвестные источники», который разрешает установку из источников, отличных от надежных, таких как Google Play . Это можно сделать по многим причинам, например, во время разработки приложений, для установки приложений, которых нет в магазине, или для установки более старой версии существующего приложения. [7]
Использование в других операционных системах
Blackberry Limited поддерживала приложения Android 4.1 Jelly Bean и более поздние версии через Android Runtime, а выпуск Blackberry 10 прекратился до обновления прошивки 10.2.1 в январе 2014 года. [8] 18 июня 2014 года BlackBerry объявила об официальном сотрудничестве с Amazon.com , в результате которого было выпущено обновление 10.3, включающее в себя Amazon Appstore .
На сборке 2015 года Microsoft также анонсировала среду выполнения Android для Windows 10 Mobile, известную как «Astoria», которая позволит приложениям Android запускаться в эмулируемой среде с минимальными изменениями и иметь доступ к API-интерфейсам платформы Microsoft, таким как Bing Maps и Xbox. Живите как почти полная замена эквивалентным Google Mobile Services . Мобильные сервисы Google и некоторые основные API не будут доступны, а приложения с «глубокой интеграцией в фоновые задачи» будут плохо поддерживать среду. [9] [10]
25 февраля 2016 г., уже отложив его в ноябре 2015 г., [11] [12] Microsoft объявила, что Astoria будет отложена, аргументируя это тем, что она избыточна для встроенного инструментария Windows Bridge, поскольку iOS уже является основной целью разработки мобильных приложений. Компания также рекомендовала использовать продукты Xamarin (которые они приобрели накануне) для разработки многоплатформенных приложений с использованием вместо этого языка программирования C# . [13] [14] Части Astoria использовались в качестве основы для платформы Windows Subsystem for Linux (WSL) в версии Windows 10 для ПК. [15]
9 августа 2019 года HarmonyOS стала совместима с APK через AOSP базу с ядром Linux на HarmonyOS 1.0 для телевизоров, а также 2 июня 2021 года версия HarmonyOS 2.0 была распространена на смартфоны и планшеты до версии Galaxy Edition под системой HarmonyOS NEXT для следующей итерационной HarmonyOS. 5 до коммерческой версии, начиная со второго квартала, июнь 2024 г. [16] [17] [18] [19] [20]
На мероприятии, посвященном выпуску Windows 11 в июне 2021 года, Microsoft продемонстрировала новую подсистему Windows для Android (WSA), которая обеспечит поддержку проекта Android с открытым исходным кодом (AOSP) и позволит пользователям запускать приложения Android на своем рабочем столе Windows. Microsoft подтвердила, что пользователи смогут загружать приложения Android в Windows и устанавливать APK-файлы, загруженные из сторонних источников. [21] 5 марта 2024 года Microsoft объявила о прекращении выпуска приложений Android в подсистеме Windows 11 к 5 марта 2025 года в рамках своих усилий по обесцениванию подсистемы ядра Windows NT и отказу от совместимости приложений Android apk, включая приложения Android из Amazon App Store . [22]
В декабре 2021 года Google объявила о планах выпустить игры для Android для Windows в 2022 году. [23] [24]
Содержимое упаковки
APK-файл представляет собой ZIP-архив , который обычно содержит следующие файлы и каталоги:
META-INF
каталог:MANIFEST.MF
: файл манифеста- Сертификат приложения.
CERT.SF
: список ресурсов и SHA-1 дайджест соответствующих строк в файле MANIFEST.MF; например:Signature-Version: 1.0Created-By: 1.0 (Android)SHA1-Digest-Manifest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE=...Name: res/layout/exchange_component_back_bottom.xmlSHA1-Digest: eACjMjESj7Zkf0cBFTZ0nqWrt7w=Name: res/drawable-hdpi/icon.pngSHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=
lib
: каталог, содержащий скомпилированный код, зависящий от платформы, например собственные библиотеки, которые можно загрузить через JNI ; каталог разделен на несколько каталогов внутри него:armeabi-v7a
: скомпилированный код только для всех процессоров на базе ARMv7 и выше.arm64-v8a
: скомпилированный код ARMv8 , Arm64 и выше. только для всех процессоров на базе [25]x86
: скомпилированный код x86. только для процессоровx86_64
: скомпилированный код x86-64. только для процессоровиmips
, устарел с NDK r17 [26] [27]armeabi
res
: каталог, содержащий ресурсы, не скомпилированные в resources.arsc (см. ниже).assets
: каталог, содержащий ресурсы приложений, которые можно получить с помощьюAssetManager
.AndroidManifest.xml
: дополнительный файл манифеста Android, описывающий имя, версию, права доступа и файлы библиотеки, на которые ссылаются для приложения. Этот файл может представлять собой двоичный XML-файл Android , который можно преобразовать в удобочитаемый XML-текст с помощью таких инструментов, как AXMLPrinter2, Apktool M или Androguard.classes.dex
: классы, скомпилированные в формате файла dex , выполняемые средой выполнения Android (или виртуальной машиной Dalvik, используемой в Android 4.4 KitKat ).resources.arsc
: файл, содержащий предварительно скомпилированные ресурсы, например двоичный XML.
См. также
Дальнейшее чтение
- Хильденбранд, Джерри (27 января 2017 г.). «Считается ли загрузка APK-файлов неопубликованным пиратством?» . Центральный Android . Проверено 10 февраля 2023 г.
Ссылки
- ^ «Основы применения» . Android-разработчики . Архивировано из оригинала 21 ноября 2020 года . Проверено 3 декабря 2018 г.
- ^ Питерс, Джей (30 июня 2021 г.). «Google отказывается от APK-файлов в Play Store» . Грань . Архивировано из оригинала 4 августа 2021 года . Проверено 15 августа 2021 г.
- ^ «Студия приложений» . Android-разработчики . Архивировано из оригинала 12 сентября 2021 г. Проверено 22 февраля 2020 г.
- ^ «Внутри платформы приложений Android» (видео) . Сайты Google . 2008. Архивировано из оригинала 24 декабря 2011 г. Проверено 22 октября 2008 г.
- ^ Хатем Бен Якуб (20 апреля 2018 г.). «Советы: как установить apk-файлы на эмулятор Android» . Открыть журнал Ха . Архивировано из оригинала 21 мая 2012 года . Проверено 17 июля 2021 г.
- ^ «Структура файлов пакета Android (APK)» . ОФон SDN . Сеть разработчиков программного обеспечения OPhone. 17 ноября 2010 г. Архивировано из оригинала 8 февраля 2011 г.
- ^ «Неизвестные источники: все, что вам нужно знать!» . Центральный Android . 27 июля 2018 г. Архивировано из оригинала 1 сентября 2021 г. Проверено 4 марта 2020 г.
- ^ Михаил, Козловский (29 января 2014 г.). «Обновление BlackBerry 10.2.1 позволяет устанавливать APK-файлы на телефон» . Хороший EReader . Архивировано из оригинала 1 марта 2014 года . Проверено 29 января 2014 г.
- ^ «Как поддержка Android будет работать в Windows 10 для телефонов?» . ТехРадар Про . Архивировано из оригинала 19 мая 2015 года . Проверено 22 мая 2015 г.
- ^ «Microsoft переносит приложения Android и iOS в Windows 10» . Арс Техника . 29 апреля 2015 года. Архивировано из оригинала 8 июля 2017 года . Проверено 30 апреля 2015 г.
- ^ «В конце концов, Microsoft может не выпустить приложения Android для Windows» . Грань . Вокс Медиа. 16 ноября 2015 года. Архивировано из оригинала 17 ноября 2015 года . Проверено 16 ноября 2015 г.
- ^ Коллинз, Кэти (16 ноября 2015 г.). «Microsoft нажимает на паузу в инструменте для переноса приложений Android на Windows 10» . CNET . CBS Интерактив . Архивировано из оригинала 9 июля 2017 года . Проверено 26 мая 2022 г.
- ^ «Microsoft подтверждает: технологии Android-on-Windows Astoria больше нет» . Арс Техника . Конде Наст. 25 февраля 2016. Архивировано из оригинала 25 февраля 2016 года . Проверено 25 февраля 2016 г.
- ^ «Обновление возможностей разработчика и Windows 10» . Блог о создании приложений для Windows . Майкрософт. 25 февраля 2016. Архивировано из оригинала 26 февраля 2016 года . Проверено 25 февраля 2016 г.
- ^ Брайт, Питер (6 апреля 2016 г.). «Почему Microsoft нужно было заставить Windows запускать программное обеспечение Linux» . Арс Техника . Конде Наст . Архивировано из оригинала 6 апреля 2016 года . Проверено 26 мая 2022 г.
- ^ Ченг, Кристина (12 июня 2021 г.). «Приложения Google по-прежнему поддерживаются в новой HarmonyOS, обновленной с EMUI» . РПРНК . Проверено 15 апреля 2023 г.
- ^ Мацуи, Эмико. «HarmonyOS NEXT Galaxy официально встретит пользователей весной: Huawei» . Отдел новостей ХК . Отдел новостей ХК . Проверено 12 февраля 2024 г.
- ^ Мацуи, Эмико (11 апреля 2024 г.). «Huawei представит бета-версию HarmonyOS NEXT на мероприятии HDC 2024 в июне» . Центр Хуавей . Проверено 11 апреля 2024 г.
- ^ «Huawei HarmonyOS имеет режим ADB, может ли она быть основана на Android?» . КЛГаджетГай . 29 февраля 2024 г. Проверено 3 мая 2024 г.
- ^ Линдер, Брэд (13 ноября 2023 г.). «В следующей версии HarmonyOS от Huawei будет прекращена поддержка приложений Android» . Лилипутирование . Проверено 3 мая 2024 г.
- ^ Пармар, Маянк (27 июня 2021 г.). «Microsoft подтверждает, что приложения Android будут работать на всех компьютерах с Windows 11» . Последняя версия Windows. Архивировано из оригинала 27 июня 2021 г. Проверено 28 июня 2021 г.
- ^ Уоррен, Том. «Microsoft прекратит выпуск приложений Android для подсистемы Windows 11 в 2025 году» . Грань . Грань . Проверено 5 марта 2024 г.
- ^ «Google Play Games — играйте в игры Android на ПК» . play.google.com . Архивировано из оригинала 03 января 2023 г. Проверено 4 января 2023 г.
- ^ Уоррен, Том (9 декабря 2021 г.). «Google перенесет игры для Android на Windows в 2022 году» . Грань . Архивировано из оригинала 13 декабря 2021 г. Проверено 13 декабря 2021 г.
- ^ «Управление ABI | Разработчики Android» . Developer.android.com . Архивировано из оригинала 31 мая 2019 года . Проверено 16 июня 2018 г.
- ^ «Android ABI | Android NDK» . Android-разработчики . Архивировано из оригинала 08 апреля 2019 г. Проверено 14 августа 2020 г.
Примечание. Исторически NDK поддерживал ARMv5 (armeabi), а также 32- и 64-битные MIPS , но поддержка этих ABI была удалена в NDK r17.
- ^ Дэн, Альберт (5 сентября 2018 г.). «Журнал изменений r17» . Гитхаб . Архивировано из оригинала 28 августа 2020 г. Проверено 14 августа 2020 г.
Поддержка ARMv5 (armeabi), MIPS и MIPS64 удалена. Попытка создать любой из этих ABI приведет к ошибке.