技术价值的体现,不止于将代码随应用发布。更进一步,是将成果打包共享,赋能于更多开发者。在鸿蒙生态中,这便体现为将组件库上传至 OpenHarmony 三方库中心仓,从实现功能走向贡献生态。

本篇内容是《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》这本书第14章内容的延续,是咱这本书读者的福利,内容Module化及复用为主体,介绍如何将Module打包上传至openharmony三方库中心仓,包括三方库中心仓的注册与配置、Module创建、配置与发布。

1.注册

进入,https://ohpm.openharmony.cn/

【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_上传


这时进入开放原子开发者中心,点击立即注册

【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_上传_02


这时进入注册页面,在该页面中输入手机号及验证码,点击注册,填写个人信息即可完成注册。或者选择其它方式登录。

【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_三方库_03


2.配置

注册成功之后,进入https://ohpm.openharmony.cn/

进入页面之后,右上角有显示用户名,点击,进入个人中心,之后在面面的左侧,点击认证管理

【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_三方库_04


【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_三方库_05


【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_App_06


2.1 公钥配置(三方库中心仓)

这时在页面的右侧,如何生成公钥,之后展示了操作方法。

【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_三方库_07


【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_三方库_08


操作步骤如所示(文字版)

1、生成公私钥:执行ssh-keygen -m PEM -t RSA -b 4096 -f your-keypath(比如在mac中可使用ssh-keygen -m PEM -t RSA -b 4096 -f ~/.ssh/mykey)

*注意:OHPM包管理器只支持加密密钥认证,请在生成公私钥时输入密码

2、配置私钥路径:执行ohpm config set key_path your-keypath

3、配置登录用户发布码,在命令行执行:ohpm config set publish_id your-publishId

4、在个人中心的OHPM公钥管理模块中,添加公钥,并将公钥文件的内容(your-keypath.pub)粘贴到公钥输入框中(如下图中点击新增,之后会有弹框)

【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_App_09


【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_三方库_10


这时公钥已经添加完成

【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_三方库_11

编辑

2.2 私钥配置(本机发布工具ohpm)

三方库中心仓关联了公钥,需要在发布端配置私钥,主要分为三步

1. 先将对应私钥文件路径配置到 .ohpmrc 文件中 key_path 字段上,

如mac中,路径为~/.ssh/mykey

ohpm config set key_path ~/.ssh/mykey

2. 设置发布码 

其中your_publish_id可在个人中心点击复制发布码复制

【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_上传_12


ohpm config set publish_id your_publish_id

3.配置发布地址

ohpm config set publish_registry https://ohpm.openharmony.cn/ohpm

3. 创建Module

如希望我们提供的被其它用户使用,我们需要将该能力打包,上传到OpenHarmary中。

3.1 创建示例项目

在实际的开发中可以不选择创建新项目,可以用已有的项目中创建新 Module,本文中示例创建一个新示例项目,如下图所示,创建一个名称为MDKitExample的工程。

【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_三方库_13


3.2 创建新 Module Static Library

项目创建成功后,在项目根目录右键,New Module,如图所示,选择Static Library,之后Module名为mdkit(注意都是小写)

【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_App_14


【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_App_15


【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_上传_16


3.3 配置Module

module打包上传到三方库中心仓,需要额外配置以下四项信息,以便于在三方库中心仓更好的识别及管理该module。

  • oh-package.json5
  • README.md
  • CHANGELOG.md
  • LICENSE

1.oh-package.json5

类似于 npm 的 package.json 将三方库发布到 OpenHarmony 三方库中心仓,必须包含 oh-package.json5 文件,模块级oh-package.json5文件位于工程各个模块的根目录下,用来描述当前模块被其他模块依赖时的相关信息,包括:作为依赖时的依赖名(name)、作为依赖时的版本号(version)、入口文件(main/types)和子依赖项等信息。当创建一个static library模块的时候会自动生成该文件,需要对配置项进行完善。更多详细说明:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-oh-package-json5#zh-cn_topic_0000001792256137_oh-packagejson5-字段说明

2.README.md,CHANGELOG.md 和 LICENSE

和 npm 下他们的场景完全一样,只是对于 OpenHarmony 来说他们是必选项

4. 编写代码并打包成 HAR

代码编写部分省略

选中HAR模块的根目录,点击Build > Make Module '<module-name>'启动构建,可实现打包。

【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_App_17


打包完成后在,mdkit/build/default/outputs/default/目录中,生成了mdkit.har

【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_三方库_18


6. 发布

执行如下命令发布HAR,<HAR路径>请指定为待发布HAR的具体路径

ohpm publish <HAR路径>

7. 等待审核

发布成功后,可以三方库中心仓查看,当前为审核中状态。

【鸿蒙生态共建】一文讲清从注册到发布共享库至openharmony三方库中心仓(Module化及复用)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利_App_19