stringtranslate.com

Приложение (формат файла)

HarmonyOS App Pack или файл App , идентифицированный с расширением файла ".app", [1] служит в качестве формата файла, используемого операционной системой HarmonyOS . Он функционирует как собственное приложение HarmonyOS для распространения и установки через Huawei AppGallery , [2] или для распространения через Huawei Ability Gallery в отношении приложений без установки как в бывшей классической двухфреймворковой системе, так и в текущей системе HarmonyOS NEXT унифицированной платформы приложений OpenHarmony. Файл App также используется рядом других операционных систем с открытым исходным кодом на базе HarmonyOS, таких как операционные системы OpenHarmony и Oniro OS, для распространения и установки приложений , видеоигр и промежуточного программного обеспечения . Включая операционные системы, не основанные на OpenHarmony, такие как операционная система Unity на базе GNU Linux , которая поддерживает формат файла app. [3] [4] [5] [6] [7]

Каждое приложение HarmonyOS содержит один или несколько файлов HarmonyOS Ability Package ( HAP , китайский :鸿蒙能力包; пиньинь : Hóngméng Nénglì Bāo ) с расширением «.hap» [8] и pack.infoфайл, описывающий атрибуты файла приложения. [9] [1]

Большинство приложений HarmonyOS содержат как минимум один файл HAP типа entry, который является основным модулем приложения, и дополнительные файлы HAP типа feature, которые используются для реализации определенной функции приложения. [9]

Подсистема управления пакетами в OpenHarmony для обработки пакетов установки приложений. При рассмотрении среды ПК. Функция установки и обновления позволяет пользователям устанавливать или обновлять приложения, взаимодействуя с менеджером пакетов через графический пользовательский интерфейс или интерфейс командной строки . Функция запроса и удаления позволяет пользователям запрашивать установленные пакеты и удалять нежелательные с помощью аналогичных интерфейсов. Также хранилище, где информация о пакете будет храниться в базе данных или файлах конфигурации на ПК. Подсистема управления пакетами обеспечивает бесперебойное управление пакетами приложений независимо от формы устройства. [10]

Обзор

Файлы App Pack и HAP

Приложения HarmonyOS распространяются в виде файла программного пакета, известного как App Pack или App file, с расширением .app, что аналогично другим программным пакетам, таким как apk , используемым операционной системой Android , appx в Microsoft Windows или пакету Debian в операционных системах на базе Debian.

Для создания приложения HarmonyOS требуется инструмент разработки программного обеспечения, такой как DevEco Studio, для кодирования и упаковки HarmonyOS Ability Package (HAP) и связанных файлов в пакет приложения. [11]

Файлы HAP могут состоять из ресурсов, сторонних библиотек и файлов конфигурации . Они классифицируются на два типа модулей, т. е. entry и feature. Тип entry файлов HAP является основным модулем и должен быть включен в пакет приложения, в то время как тип feature файлов HAP является дополнительными модулями для реализации функций приложений.

Более того, файл приложения, содержащий различные сборки и спецификации, оптимизированные для различных устройств, может содержать более одного файла HAP типа записи. [4]

Исторически развитие формата HAP прошло через два этапа. На первом этапе, после распаковки, в качестве входа программы был неисполняемый APK для соединения с библиотеками файлов AOSP двоичных файлов для взаимодействия с базой AOSP HarmonyOS 2.0 API 6, что вызвано несовершенной экологией ранней разработки нового формата файла приложения во время двойной структуры OpenHarmony L3-L5, которая состоит из конвергенции базы Android EMUI . На раннем этапе разработки приложения сторонние разработчики способствовали разработке смешанной упаковки APK и HAP. [12] С момента введения библиотек HAR в HarmonyOS 3.1 API 9 с декларативной структурой программирования ArkUI и ArkTS , эволюционировавшей из eTS в 3.0, как основного языка программирования, заменяющего двоичные файлы Java на втором этапе HAP, APK были устранены после распаковки, и HAP не может быть преобразован в APK путем простой распаковки и упаковки, поэтому формат файла HAP не является оболочкой APK.

Перед упаковкой в ​​пакет приложений файлы HAP могут запускаться непосредственно на реальном устройстве или эмуляторе, чтобы разработчики могли отлаживать и проверять приложения на этапе разработки. [13]

После разработки приложения, содержащие информацию о подписи, можно распространять на различные устройства с помощью AppGallery Connect — набора инструментов и услуг для создания, разработки, распространения и обслуживания приложений. [14]

Общие пакеты

Общие пакеты HarmonyOS

Для совместного использования кода и ресурсов в App Pack операционная система предлагает два вида общих пакетов: Harmony Archive (HAR) , который является статическим общим пакетом, и Harmony Shared Package (HSP) , который является динамическим общим пакетом. [15]

И HAR, и HSP позволяют совместно использовать код, библиотеки C++, ресурсы и файлы конфигурации. В HAR код и ресурсы компилируются вместе с вызывающими модулями, что может привести к появлению нескольких копий одного и того же кода и ресурсов. Напротив, HSP допускает независимую компиляцию, что приводит к появлению только одной копии кода и ресурсов в продукте сборки. [15]

Когда несколько HAP ссылаются на один и тот же HAR, HSP может использоваться вместо этого для совместного использования некоторых переменных состояния и уменьшения размера App Pack. Однако HSP имеет некоторые ограничения; например, он не поддерживает декларацию возможностей в своем файле конфигурации, а его вызывающие модули должны находиться в той же модели стадии, что и HSP. [15]

В OpenHarmony 4.1 API 11 улучшений с HSP системного уровня, который поддерживает обновления OTA в системе управления пакетами приложений. Кроме того, обновление API 11 в Public Basic Class Library поддерживает создание Workers в HSP и HAR, то есть то, что пользователь дает задание и продолжает в процессе, в то время как Worker или несколько Workers, также известные как Thread pools , обрабатывают задачу в другом потоке. Метод обратного вызова инициируется, когда вызывается специальный метод, предоставленный в первоначальном вызове. [16]

Структура файла приложения

Структура файла приложения после сборки и упаковки в модель этапа обычно содержит следующие файлы и папки. [9]

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

Ссылки

  1. ^ ab 柳, 伟卫 (2022). 鸿蒙HarmonyOS может использоваться в качестве операционной системы. Издательство Университета Цинхуа . ISBN 9787302596424.
  2. ^ "Обзор проекта HarmonyOS". developer.harmonyos.com . Получено 2023-08-23 .
  3. ^ "UOS может поддерживать формат приложения HarmonyOS hap". HC Newsroom . Получено 15 января 2024 г.
  4. ^ ab "Основы приложений". developer.harmonyos.com . Получено 2023-08-20 .
  5. ^ "Что такое атомарная служба". developer.harmonyos.com . Получено 2023-08-20 .
  6. ^ Ли, Дэн (28.11.2022). «Orange Pi OS запущена на базе Huawei HarmonyOS». Huawei Central . Получено 30.11.2023 .
  7. ^ Ананд, Абхинав (2023-11-13). "Huawei отказывается от Android с HarmonyOS Next". Заголовки Android . Получено 2023-12-09 .
  8. ^ «Файл HAP — Что такое файл .hap и как его открыть?». fileinfo.com . Получено 20 августа 2023 г. .
  9. ^ abc "Структура пакета приложения в модели этапа". developer.harmonyos.com . Получено 2023-08-20 .
  10. ^ "Подсистема управления пакетами". Gitee . Получено 13 апреля 2023 г. .
  11. ^ «Huawei DevEco Studio — ПРИЛОЖЕНИЕ HUAWEI HarmonyOS» . http://developer.harmonyos.com . Проверено 20 августа 2023 г.
  12. ^ Халса, Бхамини. «Практика разработки Youku Hongmon | Гибридная упаковка Youku Android и HarmonyOS Hap». Mo4Tech . Получено 24 марта 2024 г.
  13. ^ "Обзор - Создание вашего приложения". developer.harmonyos.com . Получено 2023-08-20 .
  14. ^ "Обзор - AppGallery Connect". developer.huawei.com . Получено 2023-08-20 .
  15. ^ abc "Обзор общего пакета". developer.harmonyos.com . Получено 2023-09-27 .
  16. ^ Бейтс, Крыцт. «OpenHarmony 4.1 Release Now Available With Over 4,000 New APIs». GAMINGDEPUTY . GAMINGDEPUTY . Получено 16 апреля 2024 г. .
  17. ^ "Обзор файла конфигурации приложения (модель этапа)". developer.harmonyos.com . Получено 21.08.2023 .