HarmonyOS鸿蒙Next中HSP或HAP的deliveryWithInstall的实现原理
HarmonyOS鸿蒙Next中HSP或HAP的deliveryWithInstall的实现原理 官方文档表述:标识当前 hap 是否在用户主动安装的时候安装 如果 hap 或者 hsp 被标识为 false,那这个 hap 或 hsp 将在什么情况下被安装? 举例:我将一个叫 mine 的页面抽离为一个 deliveryWithInstall=false 的 Hsp,是否是进入 mine 页面时,这个 mine hsp 才会被安装?
可以配置暂不加载,当用户用到这些特性的时候,可由应用自动下载这些特性HAP。这句话是什么意思?是系统自动会下载还是需要开发者写下载逻辑?
更多关于HarmonyOS鸿蒙Next中HSP或HAP的deliveryWithInstall的实现原理的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
deliveryWithInstall可以方便开发者按需加载所需模块,减小包大小。开发者可以将一个应用的某些HAP配置成按需加载。应用在启动阶段初始用不到的特性,可以配置暂不加载,当用户用到这些特性的时候,可由应用自动下载这些特性HAP。在HSP包下的module.json5文件可以配置deliveryWithInstall,默认为true。
在HarmonyOS鸿蒙Next中,HSP(HarmonyOS Shared Package)和HAP(HarmonyOS Ability Package)的deliveryWithInstall实现原理主要涉及应用分发和安装机制。
deliveryWithInstall用于在应用安装时同步分发特定资源或模块。其核心原理是通过应用包管理服务在安装过程中识别并处理带有deliveryWithInstall标记的HSP或HAP包。具体步骤如下:
- 包解析:在应用安装时,包管理服务解析HAP或HSP包的配置文件(如
config.json),识别deliveryWithInstall标记。 - 资源同步分发:若标记存在,包管理服务会将相关资源或模块与主应用包同步分发到设备。
- 安装与注册:分发完成后,资源或模块会与主应用包一同安装并注册到系统中,确保应用在运行时可以访问这些资源。
deliveryWithInstall机制通过包管理服务的协调,确保资源或模块在应用安装时即已准备就绪,从而提升应用启动和运行的效率。
在HarmonyOS鸿蒙Next中,deliveryWithInstall是HSP(HarmonyOS Shared Package)或HAP(HarmonyOS Ability Package)的一种分发方式。其实现原理主要分为以下几个步骤:
-
预下载:在应用安装前,系统会预先下载HSP或HAP包,确保用户安装应用时,所有依赖的共享包或能力包都已准备就绪。
-
依赖解析:系统在安装主应用时,会自动解析并安装所有通过
deliveryWithInstall指定的HSP或HAP包,确保主应用运行时能正确加载这些依赖。 -
动态加载:在应用运行时,系统会根据需要动态加载这些HSP或HAP包,确保资源的高效利用和应用的流畅运行。
通过这种方式,deliveryWithInstall实现了应用与依赖包的无缝集成,提升了应用的安装和运行效率。

