一、HAR
1.1 简介
HAR(Harmony Archive)是静态共享包,可以包含代码、C++库、资源和设置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相干代码。
1.2 使用场景
- 作为二方库,发布到OHPM私仓,供公司内部其他应用使用。
- 作为三方库,发布到OHPM中心仓,供其他应用使用。
1.3 束缚限定
- HAR不支持在设备上单独安装/运行,只能作为应用模块的依靠项被引用。
- HAR不支持在设置文件中声明UIAbility组件与ExtensionAbility组件。
- HAR不支持在设置文件中声明pages页面,但是可以包含pages页面,并通过命名路由的方式进行跳转。
- HAR不支持引用AppScope目次中的资源。在编译构建时,AppScope中的内容不会打包到HAR中,因此会导致HAR资源引用失败。
- HAR可以依靠其他HAR,但不支持循环依靠,也不支持依靠通报。
二、HAP
2.1 简介
HAP(Harmony Ability Package)是应用安装和运行的基本单元。HAP包是由代码、资源、第三方库、设置文件等打包天生的模块包,其主要分为两种范例:entry和feature。
- entry:应用的主模块,作为应用的入口,提供了应用的基础功能。
- feature:应用的动态特性模块,作为应用能力的扩展,可以根据用户的需求和设备范例进行选择性安装。
应用程序包可以只包含一个基础的entry包,也可以包含一个基础的entry包和多个功能性的feature包。
2.2 使用场景
- 单HAP场景:如果只包含UIAbility组件,无需使用ExtensionAbility组件,优先采用单HAP(即一个entry包)来实现应用开辟。固然一个HAP中可以包含一个或多个UIAbility组件,为了避免不必要的资源加载,推荐采用“一个UIAbility+多个页面”的方式。
- 多HAP场景:如果应用的功能比力复杂,需要使用ExtensionAbility组件,可以采用多HAP(即一个entry包+多个feature包)来实现应用开辟,每个HAP中包含一个UIAbility组件或者一个ExtensionAbility组件。在这种场景下,可能会存在多个HAP引用雷同的库文件,导致重复打包的问题。
2.3 束缚限定
- 不支持导出接口和ArkUI组件,给其他模块使用。
- 多HAP场景下,App Pack包中同一设备范例的全部HAP中必须有且只有一个Entry范例的HAP,Feature范例的HAP可以有一个或者多个,也可以没有。
- 多HAP场景下,同一应用中的全部HAP的设置文件中的bundleName、versionCode、versionName、minCompatibleVersionCode、debug、minAPIVersion、targetAPIVersion、apiReleaseType雷同,同一设备范例的全部HAP对应的moduleName标签必须唯一。HAP打包天生App Pack包时,会对上述参数设置进行校验。
- 多HAP场景下,同一应用的全部HAP、HSP的签名证书要保持一致。上架应用市场是以App Pack形式上架,应用市场分发时会将全部HAP从App Pack中拆分出来,同时对其中的全部HAP进行重签名,如许保证了全部HAP签名证书的一致性。在调试阶段,开辟者通过命令行或DevEco Studio将HAP安装到设备上时,要保证全部HAP签名证书一致,否则会出现安装失败的问题。
三、HSP
3.1 简介
HSP(Harmony Shared Package)是动态共享包,可以包含代码、C++库、资源和设置文件,通过HSP可以实现应用内的代码和资源的共享。HSP不支持独立发布,而是跟随其宿主应用的APP包一起发布,与宿主应用同进程,具有雷同的包名和生命周期。仅支持应用内HSP,不支持应用间HSP。
3.2 使用场景
- 多个HAP/HSP共用的代码和资源放在同一个HSP中,可以进步代码、资源的可重用性和可维护性,同时编译打包时也只生存一份HSP代码和资源,可以或许有用控制应用包大小。
- HSP在运行时按需加载,有助于提升应用性能。
3.3 束缚限定
- HSP不支持在设备上单独安装/运行,需要与依靠该HSP的HAP一起安装/运行。HSP的版本号必须与HAP版本号一致。
- HSP不支持在设置文件中声明UIAbility组件与ExtensionAbility组件。
- HSP可以依靠其他HAR或HSP,但不支持循环依靠,也不支持依靠通报。
四、小结
简朴来说:
- App是个上架概念,多个HAP打包一起上架。
- HAP是可以独立运行、分发的,HAP不是复用的,复用的应该是HAR。
- HAR是静态共享包,每个模块依靠的话都会打包到HAP里。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |