鸿蒙 SDK 发布实战:JWorker 上架 ohpm 全流程

零、前言

分享一次完整的鸿蒙 HAR SDK 发布过程,以前几天发布的 JWorker SDK 为例。

JWorker 是一套简单易用的基于鸿蒙 Worker 的双向 RPC 通讯机制。 库地址:ohpm.openharmony.cn/#/cn/detail... 仓库地址:github.com/zincPower/J...

话不多说,接下来分享每一步的操作细节。

一、添加 README.mdCHANGELOG.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.json5name 的值完全一致,否则上架审核时会被拒绝,并收到以下错误。
go 复制代码
LICENSE文件中许可证条款内容和oh-package.json5文件中许可证名称不一致;
  • 修改 oh-package.json5license 的类型,默认是 Apache-2.0JWorker 使用的是 MIT 所以需要进行修改。否则还是会报上面的错误。
json 复制代码
{
  // 省略其他
  "license": "MIT",
}

4、让你的项目评分更高

如果想让 SDK 评分得满 50 分,则必须满足以下两点:

1、在 oh-package.json5 配置 authorkeywordshomepagerepository,具体作用请看下面 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...

十、作者博客

掘金:juejin.cn/user/182044...

csdn:blog.csdn.net/weixin_3762...

公众号:微信搜索 "江澎涌"

相关推荐
EndingCoder3 分钟前
Any、Unknown 和 Void:特殊类型的用法
前端·javascript·typescript
起名时在学Aiifox1 小时前
前端文件下载功能深度解析:从基础实现到企业级方案
前端·vue.js·typescript
满天星辰5 小时前
Typescript之类型总结大全
前端·typescript
威哥爱编程6 小时前
鸿蒙开发:那些让我熬秃头的“灵异事件”
harmonyos·arkts·arkui
威哥爱编程6 小时前
2026年的IT圈,看看谁在“裸泳”,谁在“吃肉”
后端·ai编程·harmonyos
奔跑的露西ly7 小时前
【HarmonyOS NEXT】进程与线程的理解
华为·harmonyos
REDcker10 小时前
Android WebView 升级 - WebViewUpgrade 库使用详解
android·华为·harmonyos·webview
行者9610 小时前
Flutter跨平台开发:颜色选择器适配OpenHarmony
flutter·harmonyos·鸿蒙
前端小L11 小时前
专题一:搭建测试驱动环境 (TypeScript + Vitest)
前端·javascript·typescript·源码·vue3
Irene199112 小时前
TypeScript 中,void 是一种表示“无返回值”的类型
typescript·void