在Harmong应用开发中,给开发者提供了静态共享包 HAR(Harmony Archive)和动态共享包 HSP(Harmony Shared Package)。静态共享包和动态共享包都包含代码、C++库、资源和配置文件。
应用场景
静态共享包:作为应用模块的依赖项被引用,例如我们使用的HTTP库AXIOS,类似于Android的AAR包。
动态共享包:用于应用内部代码、资源的共享,让多个HAP能够共享同一公共资源代码。注意:HSP只支持在应用内共享,不支持跨应用共享。
共享包的开发
- 1.在工程中添加新的Module,模版类型可选择Shared Library或Static Library
工程 -> New -> Module -> Shared Library或Static Library
在Configure New Module界面中,设置新添加的模块信息,设置完成后,单击Finish完成创建。创建完毕后,动态共享包的type类型为“shared”,静态共享包的type类型为“har”。如下的动态共享包:
- 2.共享包导出声明的入口——Index.ts
共享包的引用
- 1.共享包添加依赖
在oh-package.json5中设置共享包依赖:
- 2.编译配置
在运行中选择Edit Configurations:
在Deploy Multi Hap标签页,勾选Deploy Multi Hap Packages,然后选择新增的共享包即可,将entry和library模块一起运行:
- 3.引用共享包声明的类
import { logger } from '@ohos/xxxBase/Index';
或
import { logger } from '@ohos/xxxBase/src/main/ets/common/log/Logger';
官方参考
开发及引用共享包-应用/服务开发-DevEco Studio使用指南-工具 | 华为开发者联盟 (huawei.com)