零、前言
分享一次完整的鸿蒙 HAR SDK 发布过程,以前几天发布的 JWorker SDK 为例。
JWorker是一套简单易用的基于鸿蒙 Worker 的双向 RPC 通讯机制。 库地址:ohpm.openharmony.cn/#/cn/detail... 仓库地址:github.com/zincPower/J...
话不多说,接下来分享每一步的操作细节。
一、添加 README.md、CHANGELOG.md、LICENSE 文件
在发布的模块中添加这三个文件,需要与模块的 src 文件夹同层级。 具体结构如下图所示:

1、README.md 文件
内容描述 SDK 怎么被安装和使用,还有个人或团队的介绍等。描述内容一定要包含 ohpm install <你发布的 SDK 名称> ,否则上架审核时会被拒绝,并收到以下错误。
css
README.md中未包含安装命令:ohpm install xxx或ohpm i xxx;
2、CHANGELOG.md 文件
用于记录 SDK 每个版本的发布时间和修改内容。
3、LICENSE 开源许可证
选择合适的开源许可证类型,例如:MIT、Apache-2.0 等。
MIT:choosealicense.com/licenses/mi... Apache-2.0:www.apache.org/licenses/LI...
具体内容可以从上面的链接中拷贝然后修改。以 MIT 为例,需要修改 [year] 和 [fullname] 两个值。
值得注意:
[fullname]必须和 SDK 的oh-package.json5中name的值完全一致,否则上架审核时会被拒绝,并收到以下错误。
go
LICENSE文件中许可证条款内容和oh-package.json5文件中许可证名称不一致;
- 修改
oh-package.json5的license的类型,默认是Apache-2.0,JWorker使用的是MIT所以需要进行修改。否则还是会报上面的错误。
json
{
// 省略其他
"license": "MIT",
}
4、让你的项目评分更高

如果想让 SDK 评分得满 50 分,则必须满足以下两点:
1、在 oh-package.json5 配置 author、keywords、homepage 和 repository,具体作用请看下面 json 配置。
json
{
// 项目名称
"name": "jworker",
// 版本
"version": "1.0.1",
"description": "一套简单易用的基于鸿蒙 Worker 的双向 RPC 通讯机制",
"main": "Index.ets",
// 作者
"author": "江澎涌",
// 开源协议类型
"license": "MIT",
"dependencies": {},
// 关键字,能够让你的仓库被搜索到
"keywords": [
"harmonyos",
"worker",
"rpc",
"communication",
"thread",
"多线程",
"emitter",
"线程通讯",
],
// 主页
"homepage": "https://github.com/zincPower",
// 代码仓库
"repository": "https://github.com/zincPower/JWorker",
}
2、创建 example 目录,可以根据情况增加 README.md 和示例代码。

二、生成密钥
通过以下命令生成密钥
css
ssh-keygen -m PEM -t RSA -b 4096 -f /[存放路径]/[密钥名称]
例如生成一个名称为 ohos_publish_key 的密钥,可以使用 ssh-keygen -m PEM -t RSA -b 4096 -f ohos_publish_key 进行生成,期间必须设置密钥密码,否则 OHPM 包管理器会拒绝。 过程如下图:

运行后会生成两个文件,私钥 ohos_publish_key 和 公钥 ohos_publish_key.pub 。

三、提交公钥
进入到 OpenHarmony 三方库中心仓的 "个人中心-认证管理",根据下图所示,在 "认证管理-新增" 的弹框中填入刚才生成的公钥 ohos_publish_key.pub 的内容然后保存。
如果没有 OpenHarmony 三方库中心仓的帐号先进行注册,这里就不再赘述。

四、本地配置私钥
将刚生成的私钥 ohos_publish_key 进行配置,配置命令如下
arduino
ohpm config set key_path [ohos_publish_key 的路径]
输入后如果遇到 zsh: command not found: ohpm 说明需要配置 ohpm ,通过 open ~/.zshrc 打开配置,添加以下配置即可
ini
export OHPM_PATH=/Users/[你的 mac 用户名]/Library/Huawei/ohpm/bin
export PATH=${PATH}:${OHPM_PATH}
配置后运行 source ~/.zshrc 或是重新打开 terminal 再次运行配置私钥命令即可。
五、配置发布码
进入到 OpenHarmony 三方库中心仓的 "个人中心" 在下图位置复制发布码

然后在 terminal 输入以下命令进行配置
arduino
ohpm config set publish_id [刚刚获取的发布码]
六、编译发布的 har 包
在鸿蒙的开发 ide 中,先进行 Build - Clean Project 打扫项目,然后 Build - Make Module '你的模块名' 进行 HAR 包编译,如下图所示

七、发布 har 包
进入到上图所示的 default 目录下,然后运行 ohpm publish jworker.har 进行发布,过程需要输入密钥的密码,输入后就完成了。过程如下图所示:

八、查看发布情况
回到 OpenHarmony 三方库中心仓的 "个人中心" 就可以看到对应的消息提示了,后续多留意 SDK 的审核情况。

九、官方文档
发布共享包:developer.huawei.com/consumer/cn...
编译HAR模块:developer.huawei.com/consumer/cn...
十、作者博客
csdn:blog.csdn.net/weixin_3762...
公众号:微信搜索 "江澎涌"
