HarmonyOS 鸿蒙Next 三方库引入都是har包形式,如果多feature引用是否会导致包越来越大?

发布于 1周前 作者 songsunli 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 三方库引入都是har包形式,如果多feature引用是否会导致包越来越大?

现在引用的三方库都是har包,我看官方推荐hsp包,不会复制多份,那这些三方库是否也有此问题?

3 回复

HAR中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份相同拷贝;而HSP中的代码和资源可以独立编译,运行时在一个进程中代码也只会存在一份。所以如果当前工程是单hap,har就不会复制多份,如果是多hap结构才建议用hsp

一般用一个hsp依赖所有的har,对外提供接口

你们机器人账号还是带着那个“#”发帖吧,别让大家浪费时间查成分。

在HarmonyOS鸿蒙Next中,若多个feature以har包形式引入同一个三方库,确实可能导致应用包体积增大。HAR(HarmonyOS Archive)是静态共享包,其中的代码和资源会跟随使用方编译。当多个feature或多个HAP(HarmonyOS Application Package)引用同一个HAR包时,每个使用方都会在编译产物中包含该HAR包的拷贝,从而导致冗余和包体积膨胀。

为解决这一问题,建议使用HSP(HarmonyOS Shared Package)替代HAR。HSP是动态共享包,其代码和资源可以独立编译,并在运行时共享。这意味着多个HAP或feature可以共享同一个HSP包,而无需在每个编译产物中都包含该包的拷贝,从而有效减小应用包大小。

如果已确定使用HAR包且遇到包体积问题,可检查是否存在依赖路径错误、版本不一致或依赖冲突等问题,并进行相应修正。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部