华为鸿蒙技术——应用程序包

一、应用程序包

用户应用程序泛指运行在设备的操作系统之上,为用户提供特定服务的程序,简称“应用”。一个应用所对应的软件包文件,称为“应用程序包”。

二、应用程序包结构

1、Stage模型应用程序包结构

一个应用包含一个或者多个Module,可以在DevEco Studio工程中创建一个或者多个Module。Module是HarmonyOS应用/服务的基本功能单元,包含了源代码、资源文件、第三方库及应用/服务配置文件,每一个Module都可以独立进行编译和运行。
Module分为“Ability”和“Library”两种类型:
(1)“Ability”类型的Module对应于编译后的HAP(Harmony Ability Package);
(2)“Library”类型的Module对应于HAR(Harmony Archive),或者HSP(Harmony Shared Package)。

一个Module可以包含一个或多个UIAbility组件,如下图所示。
在这里插入图片描述

在这里插入图片描述

2、FA模型应用程序包结构

FA模型与Stage模型不同之处在于HAP内部文件存放位置不同,FA模型将所有的资源文件、库文件和代码文件都放在assets文件夹中,在文件夹内部进一步区分。
(1)文件的解释

在这里插入图片描述
(2)结构
在这里插入图片描述

三、HAP

开发者通过DevEco Studio把应用程序编译为一个或者多个.hap后缀的文件,即HAP。HAP是HarmonyOS应用安装的基本单位,包含了编译后的代码、资源、三方库及配置文件
HAP可分为EntryFeature两种类型。

  • Entry类型的HAP:是应用的主模块,在module.json5配置文件中的type标签配置为“entry”类型。在同一个应用中,同一设备类型只支持一个Entry类型的HAP,通常用于实现应用的入口界面、入口图标、主特性功能等
  • ————————————————————————
  • Feature类型的HAP:是应用的动态特性模块,在module.json5配置文件中的type标签配置为“feature”类型。一个应用程序包可以包含一个或多个Feature类型的HAP也可以不包含;Feature类型的HAP通常用于实现应用的特性功能,可以配置成按需下载安装,也可以配置成随Entry类型的HAP一起下载安装。

每个HarmonyOS应用可以包含多个.hap文件,一个应用中的.hap文件合在一起称为一个Bundle,而bundleName就是应用的唯一标识。

需要特别说明的是:在应用上架到应用市场时,需要把应用包含的所有.hap文件(即Bundle)打包为一个.app后缀的文件用于上架,这个.app文件称为App Pack(Application Package),其中同时包含了描述App Pack属性的pack.info文件;在云端(服务器)分发和终端设备安装时,都是以HAP为单位进行分发和安装的。

四、多HAP机制

1、多HAP构建视图

在这里插入图片描述

(1)开发者视图目录

AppScope目录

  • app.json5配置应用全局描述信息,例如应用包名、版本号、应用图标、应用名称和依赖的SDK版本号等。

  • resources目录:放置应用的图标资源和应用名称字符串资源。

    说明:

  • 该目录由IDE自动生成,名称不可更改。

  • AppScope目录下面的文件名与Entry、Feature模块下面的文件名不能重复,否则IDE会报错。

entry或者feature目录(名称可由开发者自定义)

  • 由IDE引导开发者创建的Module,在该Module中实现应用的业务逻辑;可以创建多个Module,图中entry和feature即是创建的两个Module。
  • resources目录:放置该Module中所使用到的资源。
  • ets目录:开发者的业务逻辑。
  • module.json5:配置该Module的描述信息,如:Module的名称、Module的入口代码路径、包含的组件信息等。

(2)编译后视图

  • 一个开发态的Module编译后生成一个部署态的HAP,Module和HAP一一对应。
  • HAP中的module.json由开发视图中的app.json5module.json5合成。
  • 所有的HAP最终会编译到一个App Pack中(以.app为后缀的包文件),用于发布到应用市场。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尋找記憶的魚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值