20分钟跑通流程:鸿蒙 Module 发布 OpenHarmony 实战(附完整配置)

一、前言

很多 HarmonyOS 开发者在封装完自己的组件、SDK 后,第一反应都是:

"怎样才能像 npm 一样,让别人直接 ohpm install 使用?"

但真正开始发布时,会发现:

  • key 配置报错
  • 公钥校验失败
  • LICENSE 不通过
  • README 不合规
  • CHANGELOG 缺失
  • description 默认占位符被拒审

整个流程踩坑非常多,这篇文章不讲复杂原理,直接带你:

✅ 20分钟跑通 OpenHarmony 三方库发布

✅ 从 0 到成功发布

✅ 附完整配置和常见错误解决方案

适合:

  • HarmonyOS SDK 开发者
  • ArkTS 组件封装
  • 企业内部组件库
  • 想发布 OpenHarmony 三方库的开发者

二、整体流程

发布 OpenHarmony 三方库,本质只有三步:

1️⃣ 创建 OpenHarmony 账号 + 申请组织

用于管理和发布你的组件。

2️⃣ 生成 SSH 密钥 + 配置认证

OHPM 使用 RSA 密钥认证发布权限。

3️⃣ 生成 HAR 包 + 发布审核

上传后等待仓库审核通过即可。


三、创建 OpenHarmony 账号 && 申请组织

OpenHarmony 官方仓库:https://ohpm.openharmony.cn/

注册完成后:进入 「个人中心 -> 组织管理 -> 新增组织」

注意:

  • 组织名称必须填写
  • 描述必须填写

后续发布的包名:@组织名/组件名,例如:@ericbyliang/lib_watermark


四、生成 SSH 密钥 && 配置认证

4.1 生成 RSA 公私钥

复制代码
ssh-keygen -m PEM -t RSA -b 4096 -f ~/ohpmkey

注意:

⚠️ OHPM 目前只支持 PEM 格式 RSA 密钥。

⚠️ 输入密码时不要直接回车,必须设置非空字符。

执行后会得到:ohpmkey(私钥)、ohpmkey.pub(公钥) 两个文件

复制代码
iMac ~ % ls | grep ohpmkey  
ohpmkey
ohpmkey.pub
iMac ~ % open ./

4.2 配置私钥路径

复制代码
ohpm config set key_path ~/ohpmkey

4.3 配置发布码 publish_id

复制代码
ohpm config set publish_id UR7FAMETVU

这个 publish_id 在「个人中心 」

4.4 上传公钥

执行:

复制代码
cat ~/ohpmkey.pub

或者用记事本打开,复制公钥粘贴到后台


五、创建 Library

在 DevEco Studio,「New Module -> Static Library」,例如创建库名:lib_watermark


六、发布前必须准备的文件

OpenHarmony 仓库审核非常严格,发布的 .har.tgz 包,必须包含三个文件,否则会报错:

Original Error: HttpCode 400 The OHPM package must contain a non-empty changelog.md file.

文件 是否必须
LICENSE
readme.md
changelog.md

注意:

⚠️ 内容都不能为空

⚠️ 并要求符合规范


七、LICENSE 文件

LICENSE 必须包含真实许可证内容,推荐 Apache 2.0,执行以下命令可自动生成:

复制代码
curl https://www.apache.org/licenses/LICENSE-2.0.txt -o LICENSE

八、readme.md 文件

README 必须需要有:

  • 安装命令
  • 简要的三方库使用说明

例如:

复制代码
# lib_watermark

A HarmonyOS watermark component supporting security watermark overlay.

## Install

```bash

ohpm install @ericbyliang/lib_watermark

```

## Usage

```ts

import { WatermarkView } from '@ericbyliang/lib_watermark'

```

```ts

WatermarkView({

  text: 'Confidential'

})

九、changelog.md 文件

CHANGELOG 必须需要有:

  • 清晰的版本号
  • 该版本的修改内容

例如:

复制代码
## v1.0.0

- Initial release
- Support watermark overlay

十、配置 oh-package.json5

示例:

复制代码
{
  "name": "@ericbyliang/lib_watermark",
  "version": "1.0.0",
  "description": "A HarmonyOS watermark component supporting security watermark overlay.",
  "main": "Index.ets",
  "keywords": [
    "watermark",
    "security",
    "HarmonyOS"
  ],
  "author": "Eric Liang",
  "license": "Apache-2.0",
  "dependencies": {}
}

注意:

  1. name必须带组织名
  2. description不能是默认占位符,错误示例:"description": "Please describe the basic information."
  3. author不能为空,错误示例:"author": ""

十一、生成 HAR 包

点击对应 Library,「Build -> Make Module」,在build文件夹生成har文件


十二、发布组件

复制代码
ohpm publish lib_watermark.har

此时会要求输入第4.1 步设置的密码


十三、等待审核

上传成功后,几分钟内会进入审核状态,审核通过已上架后即可安装:

复制代码
ohpm install @ericbyliang/lib_watermark

十四、常见发布与审核问题

OpenHarmony 三方库中心的审核,相比 npm、Maven Central 会更严格一些。

第一次发布时,最容易遇到下面这些问题:

  • Original Error: HttpCode 400 The OHPM package must contain a non-empty changelog.md file.
  • oh-package.json5文件中的description字段不能使用默认占位符,,请根据实际内容修改; LICENSE文件中缺少许可证条款内容; README.md中未包含安装命令:ohpm install xxx或ohpm i xxx; README.md中缺少简要的三方库使用说明。
  • CHANGELOG.md由清晰的版本号和该版本的修改内容组成,请补充版本号及该版本修改内容。

只要提前按照本文中的步骤和注意事项配置好:

基本都可以一次审核通过,避免反复打回修改。

相关推荐
不羁的木木1 小时前
《HarmonyOS技术精讲》二:用户动作与状态感知实战
华为·harmonyos
G_dou_4 小时前
Flutter+OpenHarmony 实战:stopwatch 秒表应用
flutter·harmonyos
亚信安全官方账号5 小时前
AISTrustOne鸿蒙版安全方案 让终端防护“内生”力量觉醒
安全·华为·harmonyos
夜勤月5 小时前
HarmonyOS 6.0 ArkWeb实战:PDF背景色自定义功能全解析(附完整代码+避坑指南)
华为·pdf·harmonyos
想你依然心痛6 小时前
HarmonyOS 6(API 23)实战:基于悬浮导航、沉浸光感与HMAF的“药界智脑“——PC端AI智能体沉浸式药物研发与分子模拟工作台
人工智能·华为·ar·harmonyos·智能体
G_dou_7 小时前
Flutter +OpenHarmony 实战:clock 时钟应用
flutter·harmonyos
G_dou_7 小时前
Flutter+OpenHarmony 实战:weather 天气查询应用
flutter·harmonyos
yuegu7778 小时前
HarmonyOS应用<节气通>开发第1篇:启动页开发——留下第一印象的2秒
harmonyos
川石课堂软件测试8 小时前
零基础小白如何学习自动化测试
python·功能测试·学习·测试工具·jmeter·压力测试·harmonyos