此文章内容兼容API12,使用harmony next应用开发
解释:
1,HAP:Harmony Ability Package,鸿蒙 ability 包
2,HAR:Harmony Archive Package,鸿蒙静态共享包 .har
3,HSP:Harmony Shared Package,鸿蒙动态共享包 .hsp
区别:
1,鸿蒙的 module 分为 Ability 和 Library 两种类型
2,Ability类型的module,编译后生成 hap。
hap 分为 Entry 和 Feature 两种类型,Entry 代表主模块,Feature代表动态特性模块,在模块下的 module.json5 处定义
{
"module": {
"name": "entry",
"type": "entry",
...
}
}
3,HAR 静态共享包
"type": "har"
- 编译时复用
- 模块每引用一次,就会复制一份har包,造成重复拷贝
- 不同hap引用同一个har包,无法实现数据共享
- 支持应用内共享,也可以独立发布后供其他应用使用
4,HSP 动态共享包
"type": "shared"
- 运行时复用
- 多个模块同时引用时,代码只会存在一份。,解决重复拷贝问题
- 支持数据共享
- 仅支持应用内共享
5,HAR 和 HSP均不可以独立运行,HAP可以
使用建议:
1,开发者开发的模块,需要作为三方库供给其他应用依赖,只能使用HAR
2,建议业务组件使用 HSP,通用组件封装成 HAR