跳转到内容

用户:Jojoyee/App (文件格式)

维基百科,自由的百科全书
APP
扩展名
.app,.hap
开发者华为
格式类型软件包管理归档文件
作为容器
扩展自JAR

鸿蒙软件包APP PackAPP文件,以文件扩展名“.app”标识,是鸿蒙操作系统使用的软件文件格式。鸿蒙软件包作为原生应用程序,可通过华为应用市场[1]发布和安装,或者通过华为快服务平台(Huawei Ability Gallery)分发免安装应用程序。 [2] [3]

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

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

概述

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

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

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

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

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

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

应用程序文件的结构

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

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

扩展阅读

参考

[[Category:归档格式]] [[Category:行動作業系統]]

  1. ^ HarmonyOS Project Overview. developer.harmonyos.com. [2023-08-23]. 
  2. ^ 2.0 2.1 Application Fundamentals. developer.harmonyos.com. [2023-08-20]. 
  3. ^ What Is an Atomic Service. developer.harmonyos.com. [2023-08-20]. 
  4. ^ HAP File - What is a .hap file and how do I open it?. fileinfo.com. [2023-08-20]. 
  5. ^ 5.0 5.1 5.2 Application Package Structure in Stage Model. developer.harmonyos.com. [2023-08-20]. 
  6. ^ HUAWEI DevEco Studio - HUAWEI HarmonyOS APP. developer.harmonyos.com. [2023-08-20]. 
  7. ^ Overview - Building Your App. developer.harmonyos.com. [2023-08-20]. 
  8. ^ Overview - AppGallery Connect. developer.huawei.com. [2023-08-20]. 
  9. ^ Application Configuration File Overview (Stage Model). developer.harmonyos.com. [2023-08-21].