App (文件格式)

鸿蒙应用软件包,简称App文件或App Pack(英語:Application Package),是一种文件格式,用于鸿蒙操作系统中的应用软件。这些文件使用“.app”作为文件扩展名来标识。[1][2]

APP
扩展名
.app,.hap
开发者华为
格式类型软件包管理归档文件
作为容器
扩展自JAR

App文件作为鸿蒙操作系统的原生应用程序,可通过华为应用市场发布和安装[3],或者通过华为快服务平台(Huawei Ability Gallery)分发“免安装”应用程序。[4][5]

每个鸿蒙应用软件包都包含一个或多个鸿蒙能力包(HarmonyOS Ability Package, 简称HAP,其文件扩展名为“.hap”)[6], 以及pack.info文件用以描述App文件属性。[2][7][8]

大多数鸿蒙应用程序至少包含一个“Entry”类型的HAP文件作为应用程序的主要模块,以及附加的“Feature”类型的HAP文件用于实现应用程序的功能。[7]

概述

鸿蒙应用程序以软件包文件的形式发布,后缀为.app,类似于Android操作系统中的apkMicrosoft Windows中的appx 、Debian操作系统中的Debian软件包等其他软件包。

制作鸿蒙应用程序需要使用DevEco Studio等软件开发工具来编码,并将HAP和相关文件打包成鸿蒙软件包。[9]

HAP文件包含资源、第三方配置文件。该文件可分为两类模块,即Entry模块和Feature模块。 HAP文件的Entry类型是主模块,必须包含在软件包中,而HAP文件的Feature类型则是用于展现应用程序功能的附加模块。

此外,针对各种不同设备而构建的软件包可以包含多个Entry类型的HAP文件。[4]

在打包成软件包之前,HAP文件可以直接在真机或模拟器上运行,提供给开发者在开发阶段调试和验证应用软件。[10]

开发完成后,包含签名信息的软件包可以通过AppGallery Connect分发到不同的设备;AppGallery Connect是用于创建、开发、分发和维护应用软件的服务工具包。[11]

App文件结构

以阶段模型为例,App文件的结构通常包含以下文件和文件夹。[7]

  • entry.hapfeature.hap :Entry类型和Feature类型的基本模块,包含以下文件夹和文件。
    • ets文件夹:存储代码构建后而生成的字节码文件。
    • libs文件夹 :存放主模块的依赖文件。
    • resources文件夹:包含图形、多媒体、字符串、布局等资源文件。
    • resources.index :资源索引表文件,构建应用软件时生成。
    • app.json5module.json5JSON文件,包含构建工具、操作系统和应用市场的配置信息。[12]
  • pack.info :描述App Pack属性的文件。

扩展阅读

参考文献

  1. ^ HarmonyOS(鸿蒙)——应用程序包结构-云社区-华为云. bbs.huaweicloud.com. [2023-09-26]. (原始内容存档于2023-09-26). 
  2. ^ 2.0 2.1 柳伟卫. 鸿蒙HarmonyOS手机应用开发实战. 清华大学出版社. 2022. ISBN 9787302596424. 
  3. ^ HarmonyOS工程介绍. developer.harmonyos.com. [2023-08-26]. (原始内容存档于2023-08-26). 
  4. ^ 4.0 4.1 应用基础知识. developer.harmonyos.com. [2023-08-26]. (原始内容存档于2020-12-21). 
  5. ^ 什么是元服务. developer.harmonyos.com. [2023-08-26]. (原始内容存档于2023-08-26). 
  6. ^ HAP File - What is a .hap file and how do I open it?. fileinfo.com. [2023-08-20]. (原始内容存档于2023-10-02). 
  7. ^ 7.0 7.1 7.2 Stage模型应用程序包结构. developer.harmonyos.com. [2023-08-26]. (原始内容存档于2023-08-26). 
  8. ^ Stage模型应用程序包结构. developer.harmonyos.com. [2023-08-26]. (原始内容存档于2023-08-26). 
  9. ^ HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者. developer.harmonyos.com. [2023-08-26]. (原始内容存档于2023-08-26). 
  10. ^ 编译构建概述. developer.harmonyos.com. [2023-08-26]. (原始内容存档于2023-08-26). 
  11. ^ AppGallery Connect概述. developer.huawei.com. [2023-08-26]. (原始内容存档于2023-08-26). 
  12. ^ 应用配置文件概述(Stage模型). developer.harmonyos.com. [2023-08-26]. (原始内容存档于2023-08-26).