apk (формат файла)

Формат файла для программного обеспечения Android

АПК
Расширение имени файла
.apk, .apks, .aab, .xapk, .apkm,.akp
Тип интернет-СМИ
application/vnd.android.package-archive
Тип форматаФормат упаковки
Контейнер для
Расширенный отБАНКА

Android Package с расширением файла apk [1] — это формат файла , используемый операционной системой Android и рядом других операционных систем на базе Android для распространения и установки мобильных приложений , мобильных игр и промежуточного программного обеспечения . Файл, использующий этот формат, может быть создан из исходного кода, написанного на Java или Kotlin .

Файлы APK могут быть созданы и подписаны из Android App Bundles . [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 .

На Build 2015 компания Microsoft также анонсировала среду выполнения Android для Windows 10 Mobile, известную как «Astoria», которая позволит приложениям Android работать в эмулируемой среде с минимальными изменениями и иметь доступ к API платформы Microsoft, таким как Bing Maps и Xbox Live, в качестве практически готовых замен эквивалентных Google Mobile Services . Google Mobile Services и некоторые основные 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 Open Source Project (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; например:
      Подпись-Версия: 1.0Создано: 1.0 (Android)SHA1-дайджест-манифест: wxqnEAI0UA5nO5QJ8CGMwjkGGWE=...Имя: res/layout/exchange_component_back_bottom.xmlSHA1-дайджест: eACjMjESj7Zkf0cBFTZ0nqWrt7w=Имя: res/drawable-hdpi/icon.pngSHA1-дайджест: DGEqylP8W0n0iV/ZzBx3MW0WGCA=
  • lib: каталог, содержащий скомпилированный код, зависящий от платформы, например, собственные библиотеки, которые можно загрузить через JNI ; каталог разделен на несколько каталогов внутри него:
    • armeabi-v7a: скомпилированный код только для всех процессоров на базе ARMv7 и выше
    • arm64-v8a: скомпилированный код только для всех процессоров на базе ARMv8 arm64 и выше [25]
    • x86: скомпилированный код только для процессоров x86
    • x86_64: скомпилированный код только для процессоров x86-64
    • mipsи armeabi, устарело с NDK r17 [26] [27]
  • res: каталог, содержащий ресурсы, не скомпилированные в resources.arsc (см. ниже).
  • assets: каталог, содержащий ресурсы приложений, которые можно получить с помощью AssetManager.
  • AndroidManifest.xml: Дополнительный файл манифеста Android, описывающий имя, версию, права доступа, ссылочные файлы библиотеки для приложения. Этот файл может быть в двоичном XML Android , который можно преобразовать в понятный человеку текстовый XML с помощью таких инструментов, как AXMLPrinter2, Apktool M или Androguard.
  • classes.dex: Классы, скомпилированные в формате файла dex , выполняемые Android Runtime (или виртуальной машиной Dalvik, используемой в Android 4.4 KitKat ).
  • resources.arsc: файл, содержащий предварительно скомпилированные ресурсы, например, двоичный XML.

Смотрите также

Дальнейшее чтение

  • Хильденбранд, Джерри (27.01.2017). «Считается ли пиратством сторонняя загрузка APK-файлов?». Android Central . Получено 10.02.2023 .

Ссылки

  1. ^ "Основы приложений". Разработчики Android . Архивировано из оригинала 21 ноября 2020 г. Получено 3 декабря 2018 г.
  2. ^ Питерс, Джей (30 июня 2021 г.). «Google отказывается от APK в Play Store». The Verge . Архивировано из оригинала 4 августа 2021 г. . Получено 15 августа 2021 г. .
  3. ^ "Application Studio". Разработчики Android . Архивировано из оригинала 2021-09-12 . Получено 2020-02-22 .
  4. ^ "Внутри Android Application Framework" (видео) . Google Sites . 2008. Архивировано из оригинала 2011-12-24 . Получено 2008-10-22 .
  5. ^ Hatem Ben Yacoub (20 апреля 2018 г.). «Советы: как установить файлы apk на эмуляторе Android». Open Ha Magazine . Архивировано из оригинала 21 мая 2012 г. Получено 17 июля 2021 г.
  6. ^ "Структура файлов Android Package (APK)". OPhone SDN . OPhone Software Developer Network. 17 ноября 2010 г. Архивировано из оригинала 8 февраля 2011 г.
  7. ^ «Неизвестные источники: все, что вам нужно знать!». Android Central . 27 июля 2018 г. Архивировано из оригинала 1 сентября 2021 г. Получено 4 марта 2020 г.
  8. ^ Майкл, Козловски (29 января 2014 г.). «Обновление BlackBerry 10.2.1 позволяет устанавливать файлы APK на телефон». GoodEReader . Архивировано из оригинала 1 марта 2014 г. Получено 29 января 2014 г.
  9. ^ «Как будет работать поддержка Android в Windows 10 для телефонов?». TechRadar Pro . Архивировано из оригинала 19 мая 2015 г. Получено 22 мая 2015 г.
  10. ^ "Microsoft приносит Android, iOS приложения в Windows 10". Ars Technica . 29 апреля 2015 г. Архивировано из оригинала 8 июля 2017 г. Получено 30 апреля 2015 г.
  11. ^ «Microsoft, возможно, не выведет приложения Android на Windows в конце концов». The Verge . Vox Media. 16 ноября 2015 г. Архивировано из оригинала 17 ноября 2015 г. Получено 16 ноября 2015 г.
  12. ^ Коллинз, Кэти (16 ноября 2015 г.). «Microsoft приостанавливает работу над инструментом для переноса приложений Android на Windows 10». CNET . CBS Interactive . Архивировано из оригинала 9 июля 2017 г. . Получено 26 мая 2022 г. .
  13. ^ "Microsoft подтверждает: технология Android-on-Windows Astoria ушла". Ars Technica . Conde Nast. 25 февраля 2016 г. Архивировано из оригинала 25 февраля 2016 г. Получено 25 февраля 2016 г.
  14. ^ «Обновление возможностей разработчиков и Windows 10». Блог Building Apps for Windows . Microsoft. 25 февраля 2016 г. Архивировано из оригинала 26 февраля 2016 г. Получено 25 февраля 2016 г.
  15. Bright, Peter (6 апреля 2016 г.). «Почему Microsoft нужно было заставить Windows запускать программное обеспечение Linux». Ars Technica . Condé Nast . Архивировано из оригинала 6 апреля 2016 г. . Получено 26 мая 2022 г. .
  16. ^ Ченг, Кристина (2021-06-12). «Приложения Google по-прежнему поддерживаются на новой HarmonyOS, обновленной с EMUI». RPRNA . Получено 2023-04-15 .
  17. ^ Мацуи, Эмико. «HarmonyOS NEXT Galaxy официально поступит в продажу весной: Huawei». HC Newsroom . HC Newsroom . Получено 12 февраля 2024 г. .
  18. ^ Мацуи, Эмико (11.04.2024). "Huawei запустит бета-версию HarmonyOS NEXT на мероприятии HDC 2024 в июне". Huawei Central . Получено 11.04.2024 .
  19. ^ «HarmonyOS от Huawei имеет режим ADB, может ли он быть основан на Android?». KLGadgetGuy . 2024-02-29 . Получено 2024-05-03 .
  20. ^ Линдер, Брэд (13.11.2023). «Следующая версия HarmonyOS от Huawei прекратит поддержку приложений Android». Liliputing . Получено 03.05.2024 .
  21. ^ Parmar, Mayank (2021-06-27). «Microsoft подтверждает, что приложения Android будут работать на всех ПК с Windows 11». Windows Latest. Архивировано из оригинала 2021-06-27 . Получено 2021-06-28 .
  22. ^ Уоррен, Том. «Microsoft прекратит поддержку приложений Android в подсистеме Windows 11 в 2025 году». The Verge . The Verge . Получено 5 марта 2024 г. .
  23. ^ "Google Play Игры - Играйте в игры Android на ПК". play.google.com . Архивировано из оригинала 2023-01-03 . Получено 2023-01-04 .
  24. ^ Уоррен, Том (2021-12-09). «Google перенесет игры Android на Windows в 2022 году». The Verge . Архивировано из оригинала 2021-12-13 . Получено 2021-12-13 .
  25. ^ "ABI Management | Android Developers". developer.android.com . Архивировано из оригинала 31 мая 2019 . Получено 16 июня 2018 .
  26. ^ "Android ABIs | Android NDK". Разработчики Android . Архивировано из оригинала 2019-04-08 . Получено 2020-08-14 . Примечание: Исторически NDK поддерживал ARMv5 (armeabi), а также 32- и 64-битные MIPS , но поддержка этих ABI была удалена в NDK r17.
  27. ^ Дэн, Альберт (5 сентября 2018 г.). "Changelog r17". GitHub . Архивировано из оригинала 28.08.2020 . Получено 14.08.2020 . Поддержка ARMv5 (armeabi), MIPS и MIPS64 удалена. Попытка построить любой из этих ABI приведет к ошибке.
Получено с "https://en.wikipedia.org/w/index.php?title=Apk_(формат_файла)&oldid=1237345133"