
1 -> 开发静态共享包
HAR(Harmony Archive)是静态共享包,可以包含代码、C++ 库、资源和配置文件。通过 HAR 可以实现多个模块或多个工程共享 ArkUI 组件、资源等相关代码。HAR 不同于 HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。
接下来,将简单介绍库模块的工程结构,如下图所示:

相关字段的描述如下。
- libs:用于存放.so 文件。
- src > main > cpp > types:用于存放 C++ API 描述文件,子目录按照 so 维度进行划分。
- src > main > cpp > types > liblibrary > Index.d.ts:描述 C++ 接口的方法名、入参、返回参数等信息。
- src > main > cpp > types > liblibrary > oh-package.json5:描述 so 三方包声明文件入口和 so 包名信息。
- src > main > cpp > CMakeLists.txt:CMake 配置文件,提供 CMake 构建脚本。
- src > main > cpp > napi_init.cpp:共享包 C++ 代码源文件。
- Index.ets:共享包导出声明的入口。
后续将介绍如何创建库模块、如何编译共享包、如何引用共享包资源,以及如何发布共享包。
1.1 -> 创建库模块
-
鼠标移到工程目录顶部,单击右键,选择New > Module,在工程中添加模块。
-
在Choose Your Ability Template界面中,选择Static Library,并单击Next。

- 在Configure New Module界面中,设置新添加的模块信息,设置完成后,单击Finish完成创建。
- Module name:新增模块的名称。
- Device type:支持的设备类型。
- Enable native:是否创建一个用于调用 C++ 代码的模块。















