发布三方库:将组件发布到OHPM仓库流程(268)
·
将组件发布到 OpenHarmony 三方库中心仓(OHPM)是一个严谨的流程,整体可以分为账号准备、密钥配置、工程创建、打包构建、发布审核等核心步骤。以下是详细的操作指南:
1. 账号与组织准备
前往 OpenHarmony 三方库中心仓(ohpm.openharmony.cn)注册账号并完成实名认证。如果需要以组织名义发布,需在“组织管理”中新增组织,包名需遵循 @组织名/包名 的格式。
2. 生成密钥与配置认证
OHPM 使用 RSA 公私钥校验发布权限,仅支持 PEM 格式。
-
生成密钥:使用
ssh-keygen生成公私钥对,生成时必须输入密码(密码不能为空)。ssh-keygen -m PEM -t RSA -b 4096 -f ~/.ssh_ohpm/mykey -
上传公钥:登录中心仓官网,进入「个人中心」-「认证管理」,新增 OHPM 公钥,将
mykey.pub的内容粘贴保存。 -
配置私钥与发布码:在命令行中配置私钥路径和从官网获取的发布码(
publish_id)。ohpm config set key_path ~/.ssh_ohpm/mykey ohpm config set publish_id your_publish_id
3. 创建 Library 模块与完善必备文件
- 创建模块:在 DevEco Studio 中,通过
New > Module > Static Library创建一个静态库模块。 - 完善配置文件:确保模块级
oh-package.json5包含必填字段(如name,version,main,license),且所有直接依赖必须在模块内声明完整,不能依赖工程级配置。 - 准备三个必备文件:在库模块根目录(与
src同级)下,必须包含以下三个文件,且内容不能为空:README.md:包含包的介绍和引用方式。CHANGELOG.md:填写版本更新记录。LICENSE:真实的许可证全文(推荐 Apache-2.0)。
4. 编译打包 HAR
- 选中 HAR 模块,通过 DevEco Studio 菜单栏执行
Build > Make Module <模块名>。 - 安全警告:请务必使用 Release 模式构建,避免使用 Debug 模式,因为 Debug 包中会含有源码,存在代码泄露风险。
- 构建成功后,会在
build目录下生成.har文件。
5. 发布与等待审核
-
执行发布:在命令行中指定
.har文件的具体路径进行发布。ohpm publish <HAR路径>执行后需输入生成密钥时设置的密码。
-
等待审核:发布成功后,中心仓会发送“创建上架审核单成功”通知。审核通过后,会发送“审核通过”通知,此时其他开发者即可通过
ohpm install安装使用。
一、 安全合规:闭源 SDK 的字节码打包与混淆
企业级闭源 SDK 在发布至 OHPM 时,必须采用字节码打包并开启代码混淆,以保护核心业务逻辑不被反编译。
- 构建模式与混淆:在 IDE 中将 Build Mode 调整为
release,并开启代码混淆。打包后的oh-package.json5中"artifactType"属性值应为obfuscation。 - 声明文件校验:闭源包必须确保
oh-package.json5中"types"属性定义的声明文件(.d.ts或.d.ets)真实存在,否则发布时会被直接拦截报错。 - 自定义 License:闭源 SDK 需在根目录提供自定义的
LICENSE文件,并将oh-package.json5中的license字段明确指定为proprietary。
二、 工程化校验:防驳回的字段与依赖隔离
OHPM 中心仓的审核机制极其严格,以下工程化细节是避免被驳回的关键:
- 包名规范:包名(
name字段)必须保证全局唯一,以小写字母开头,推荐采用@group/packagename标准格式。 - 依赖绝对隔离:HAR 模块的所有直接依赖必须在模块级的
oh-package.json5中声明完整。严禁依赖工程级配置“补漏”,否则打包后会因找不到依赖而报错。 - 版本号递增与不可变性:一旦
name + version组合审核通过,该版本号将被永久占用。即使后续执行ohpm unpublish下架,也无法再次使用。迭代必须严格递增版本号。 - 敏感信息脱敏:发布前务必通过
.ohpmignore文件配置打包时要忽略的文件/文件夹,彻底清除私钥、密码、个人信息等敏感数据。
三、 自动化发布:CI/CD 流水线集成
在企业级 DevOps 流程中,发布不应依赖手动执行命令,而应集成到 CI/CD 流水线中。
# 1. 流水线环境初始化:配置私钥与发布码
# 注意:私钥密码和 publish_id 应通过 CI 平台的 Secret 环境变量注入
ohpm config set key_path $OHPM_PRIVATE_KEY_PATH
ohpm config set publish_id $OHPM_PUBLISH_ID
# 2. 执行自动化发布
# 支持通过命令行参数临时指定发布码或私钥路径,避免污染全局配置
ohpm publish ./build/default/outputs/default/my-library.har \
--publish_id $OHPM_PUBLISH_ID \
--key_path $OHPM_PRIVATE_KEY_PATH
四、 审核时效与状态追踪
- 响应时效:提交上传后,OHPM 中心仓审核人员将在 1 个工作日内响应并反馈审核结果。
- 状态监控:发布成功后,平台会发送“创建上架审核单成功”通知;审核通过后,可在【个人中心】-【Package】管理界面查看上架状态,并通过
ohpm install @org/lib_xxx验证安装。
更多推荐

所有评论(0)