旅游网站开发的背景,做idc销售怎样建网站,如何做网站活动封面,51简历模板网HAR#xff08;Harmony Archive#xff09;是静态共享包#xff0c;可以包含代码、C库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP#xff0c;不能独立安装运行在设备上#xff0c;只能作为应用模块的依赖项被引用。…HARHarmony Archive是静态共享包可以包含代码、C库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP不能独立安装运行在设备上只能作为应用模块的依赖项被引用。 接下来将简单介绍库模块的工程结构如下图所示 相关字段的描述如下其余字段与Entry或Feature模块相关字段相同可参考工程介绍。 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.txtCMake配置文件提供CMake构建脚本。src main cpp hello.cpp共享包C代码源文件。index.ets共享包导出声明的入口。 创建库模块
1、鼠标移到工程目录顶部单击右键选择New Module在工程中添加模块。
2、在Choose Your Ability Template界面中选择Static Library并单击Next。 3、在Configure New Module界面中设置新添加的模块信息设置完成后单击Finish完成创建。
Module name新增模块的名称。Language开发语言。Device type支持的设备类型。Enable native是否创建一个用于调用C代码的模块。 创建完成后会在工程目录中生成库模块及相关文件。 编译库模块
开发完库模块后选中模块名然后通过DevEco Studio菜单栏的Build Make Module ${libraryName}进行编译构建生成HAR。HAR可用于工程其它模块的引用或将HAR上传至ohpm仓库供其他开发者下载使用。若部分源码文件不需要打包至HAR中可通过创建.ohpmignore文件配置打包时要忽略的文件/文件夹。 编译构建的HAR可在模块下的build目录下获取包格式为*.har。 在编译构建HAR时请注意以下事项
在编译构建HAR的过程中不会将模块中的C代码直接打包进.har文件中而是将C代码编译成动态依赖库.so文件放置在.har文件中的libs目录下。在编译构建HAR的过程中会生成资源文件ResourceTable.txt以便编辑器可以对HAR中的资源文件进行联想。因此如果不使用DevEco Studio对HAR进行构建则DevEco Studio的编辑器会无法联想HAR中的资源。
发布HAR
发布打包的HAR可供其他开发者安装和引用。接下来将介绍如何发布共享包
1、在库模块中与src文件夹同一级目录下添加如下文件
新建README.md文件在README.md文件中必须包含包的介绍和引用方式还可以根据包的内容添加更详细介绍。新建CHANGELOG.md文件填写HAR的版本更新记录。添加LICENSE文件LICENSE许可文件。
2、重新编译库模块生成*.har文件。
3、利用工具ssh-keygen生成公、私钥可执行以下命令
ssh-keygen -m PEM -t RSA -b 4096 -f your_key_path 说明 OHPM包管理器只支持加密密钥认证请在生成公私钥时输入密码。 4、登录OpenHarmony三方库中心仓官网单击主页右上角的个人中心新增OHPM公钥将公钥文件your_publicKey.pub的内容粘贴到公钥输入框中。
5、打开命令行工具执行如下命令设置私钥路径。
ohpm config set key_path your_key_path
6、登录OpenHarmony三方库中心仓单击主页右上角的个人中心复制发布码获取发布码并配置到 .ohpmrc 文件中可执行如下命令
ohpm config set publish_id your_publish_id
7、执行如下命令发布HARHAR路径需指定为.har文件的具体路径。
ohpm publish HAR路径
引用HAR文件和资源
引用三方HAR包括从仓库进行安装、从本地文件夹和本地压缩包中进行安装三种方式。
1、引用ohpm仓中的HAR首先需要设置三方HAR的仓库信息。DevEco Studio默认仓库地址为OpenHarmony三方库中心仓如果您需要设置自定义仓库请在DevEco Studio的Terminal窗口执行如下命令执行命令前请确保将DevEco Studio中ohpm安装bin目录配置在“环境变量-系统变量-PATH”中第一次配置环境变量后需重启DevEco Studio
ohpm config set registry your_registry1,your_registry2 说明ohpm支持多个仓库地址采用英文逗号分隔。 然后通过如下两种方式设置三方包依赖信息 1方式一在Terminal窗口中执行如下命令安装三方包DevEco Studio会自动在工程的oh-package.json5中自动添加三方包依赖。
ohpm install ohos/lottie
2方式二在工程的oh-package.json5中设置三方包依赖配置示例如下
dependencies: {ohos/lottie: ^2.0.0
}
依赖设置完成后需要执行ohpm install命令安装依赖包依赖包会存储在工程的oh_modules目录下。
ohpm install
2、引用本地文件夹有如下两种方式
1方式一在Terminal窗口中执行如下命令进行安装并会在oh-package.json5中自动添加依赖。
ohpm install ../folder 2方式二在工程的oh-package.json5中设置三方包依赖配置示例如下
dependencies: {package: file:./package.har
}
依赖设置完成后需要执行ohpm install命令安装依赖包依赖包会存储在工程的oh_modules目录下。
ohpm install 另外在安装或卸载共享包时可在工程的oh-package.json5文件中增加钩子设置以管理install、uninstall命令的生命周期配置示例如下 hooks: {preInstall: echo 00 preInstall, // install命令执行之前postInstall: echo 00 postInstall, // install命令执行之后preUninstall: echo 00 preUninstall, // uninstall命令执行之前postUninstall: echo 00 postUninstall // uninstall命令执行之后}
注意目前只支持执行当前工程的oh-package.json5文件中hooks不支持执行依赖中hooks。
在引用共享包时请注意以下事项
当前只支持在模块和工程下的oh-package.json5文件中声明dependencies依赖才会被当做依赖使用并在编译构建过程中进行相应的处理。 具体实操可参考大佬的文章全网首发超细节发布一个鸿蒙OHPM开源包 - 掘金
参考文档中心