鸿蒙 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...

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

相关推荐
山内桜良114 小时前
HarmonyOS中,html 与 ets 桥接沟通
华为·html·harmonyos
心中有国也有家15 小时前
AtomGit Flutter 鸿蒙客户端:初始化流水线
学习·flutter·华为·harmonyos
在书中成长15 小时前
HarmonyOS 小游戏《对战五子棋》开发第30篇 - TwoPlayerPage双人对战(二):状态栏与玩家指示器
harmonyos
爱吃大芒果15 小时前
ArkUI V2 状态管理极简教程,手写待办清单 Demo
华为·harmonyos
孟无岐16 小时前
LayaAir IDE 插件开发入门:用 TypeScript 给编辑器加一个自己的面板
typescript·游戏开发·工程化·编辑器扩展·layaair·ide 插件
ujainu小16 小时前
帧率协议栈:13变量揭秘60Hz性能分析
华为·harmonyos
shakingWaves17 小时前
better auth worker on cloudflare
typescript·cloudflare·auth·better-auth
花开彼岸天~1 天前
15 Button 组件与交互反馈设计:按压动画与呼吸脉冲
华为·交互·harmonyos·鸿蒙系统
ZZZMMM.zip1 天前
基于鸿蒙HarmonyOS NEXT开发AI英语口语应用:智能口语练习新体验与鸿蒙Flutter框架跨端实
人工智能·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
心中有国也有家1 天前
AtomGit Flutter 鸿蒙客户端:白噪音场景的视觉设计
学习·flutter·华为·harmonyos