目录

开发静态共享包

HAR(Harmony Archive)是静态共享包,可以包含代码、C++库、资源和配置文件。通过HAR可以实现多个模块或工程共享ArkUI组件、资源等相关代码。HAR不同于HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。本文将介绍如何创建HAR模块、如何编译共享包。

HAR模块的工程结构如下图所示:

相关字段的描述如下,其余字段与Entry或Feature模块相关字段相同,可参考工程介绍。

从DevEco Studio 6.0.1 Beta1开始,创建HAR模块时支持选择C++版本。

创建HAR模块

  1. 鼠标移到工程目录顶部,单击右键,选择New > Module,在工程中添加模块。
  2. 在Choose Your Ability Template界面中,选择Static Library,并单击Next。

  3. 在Configure New Module界面中,设置新添加的模块信息,设置完成后,单击Finish完成创建。

    • Module name:新增模块的名称。
    • Device type:支持的设备类型。
    • Enable native:创建用于调用C++代码的模块。
    • C++ Standard:C++标准库,取值包括:Toolchain Default、C++11、C++14,仅打开Enable native时需要配置。从DevEco Studio 6.0.1 Beta1开始支持。

    创建完成后,会在工程目录中生成HAR模块及相关文件。

编译HAR模块

开发完HAR模块后,选中模块名,然后通过DevEco Studio菜单栏的Build > Make Module ${libraryName}进行编译构建,生成HAR。HAR可供工程其他模块引用,或将HAR上传至ohpm仓库,供其他开发者下载使用。更多使用说明请参考构建HAR。

编译构建的HAR可在模块下的build目录下获取,包格式为*.har。

在编译构建HAR时,请注意以下事项: