【关键字】
多HAP / 三方库 / HAR / 应用包膨大 / App Size / HSP
【问题描述】
多HAP工程中当前通过HAR包形式引入了一些三方库,如何解决多包间代码和资源的重复拷贝导致的应用包膨大问题?
【解决方案】
HAR中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份相同拷贝;而HSP中的代码和资源可以独立编译,运行时在一个进程中代码也只会存在一份。当多包(HAP/HSP)同时引用同一个共享包时,采用HSP替代HAR,可以避免HAR造成的多包间代码和资源的重复拷贝,从而减小应用包大小。
建议重新拉取源码将三方库HAR包改造成HSP包,一般用一个HSP依赖所有三方库HAR包,对外提供接口,具体可参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/modular-design-0000001678046862#section64326249113