鸿蒙中 Hap-Hsp-Har 的区别

鸿蒙中 Hap-Hsp-Har 的区别

1、Hap

Hap是一个入口 每一款设备都有自己Hap

比如 手机,手表,PC,平板等

phone -hap

pc -hap

pad -hap

watch -hap

最显著的特点是Hap具有自己的Ability 所以区别一个是不是Hap 可以看有没有Ability

2、Hsp

Hsp是一个共享包 可以供多个Hap共同使用

内部可以使用pages  但是没有ability,不能共享资源

3、Har

Har是静态共享包

可以导出供其他使用  内部也可以写组件而且也 可以共享资源

三者关系图如下:

具体使用的话是看考虑性能还是考虑体积

考虑性能的话选择HAR被其他模块引用 HAR是在每个HAP中 所以 性能相对比较好一些 

考虑体积的话选择HSP被其他模块引用 因为是只有一个HSP所以体积相对比较小一些

### 鸿蒙操作系统中的HARHSPHAP文件格式或组件类型的区别 #### HAP (Harmony Ability Package) HAP 是应用安装和运行的基本单元,由代码、资源、第三方库以及配置文件等组成。这种包主要用于构建独立的应用程序模块,并且分为两种类型:entry 和 feature。对于仅包含 `UIAbility` 组件而不需要使用 `ExtensionAbility` 组件的情况,建议通过单一的 entry 类型 HAP 来完成应用程序的开发工作[^3]。 ```json { "type": "entry", "name": "MainApp" } ``` #### HAR (Harmony Archive) 作为静态共享库的形式存在,HAR 主要用于提供给其他 HAP 使用的功能集合或是公共资源。它不会被直接部署到设备上执行,而是被打包进依赖它的 HAP 中一同发布。因此,在实际操作过程中,开发者通常会先创建好所需的 HAR 文件再将其加入至目标项目的编译流程里去[^2]。 ```bash # 编译命令示例 hbuildc --target=har -o output_directory source_files... ``` #### HSP (Harmony Shared Package) 不同于上述两者的是,HSP 属于一种动态共享库形式的存在。它可以允许同一组织内的不同应用程序间实现代码级资源配置上的共用;然而需要注意的是,这类包并不支持单独安装备份或者启动运作——它们总是伴随着某个具体的 HAP 而存在并发挥作用。另外值得注意的一点在于,为了确保兼容性和稳定性,HSP 的版本应当同所依附的那个 HAP 版本保持同步更新状态。除此之外,由于技术架构方面的原因,现阶段只有 Stage 模式的 API 可供选用,并且最低要求为 API Level 12以上[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值