Harmony应用中 HAR 包开发与发布到openharmony中的完整指南

目录

第一版没通过

您于2026-01-13 16:05:12提交的商品 考试模版 信息已审核。

审核结果:不通过。

审核意见:1、请将商品所属分类修改为"应用开发/模板"; 2、请修改商品简介,删除乱码,字数应不超过256个字符; 3、包体规范:签名验证未通过(签名证书完整性校验失败),请修改; 4、标识规范:Code一致性检测未通过(外部唯一code为空),请修改;

第二版通过

尊敬的用户 , 您好!

您于2026-01-14 22:39:32提交的商品 考试模版 信息已审核。

审核结果:通过。 您已成功发布商品。

您可以登录华为开发者联盟生态市场-卖家中心查看和管理您的商品,如您在商品上架/编辑中有疑问,可查询文档中心或通过在线提单联系我们。

解决的方式

1,2大家都会

3:整个项目需要签名 用发布证书,文章的第四点会有

4:Code在这里配置提交里面写的code保持一致 后面的版本也一样的

发布成功的效果


一、HAR 包概述

HAR(Harmony Archive)是 OpenHarmony 的共享包格式,可用于代码复用和跨项目共享。

重要说明 :OpenHarmony 三方库中心仓仅支持 HAR 共享包发布,不支持 HSP 共享包发布。如需在应用内共享 HSP,可将 HSP 共享包发布至私仓使用,请参考 ohpm私仓搭建工具


二、创建和构建 HAR 模块

2.1 创建 HAR 模块

在 DevEco Studio 中:

  1. 点击菜单 FileNewModule
  2. 选择 Harmony Archive (HAR)
  3. 配置模块名称和包名
  4. 点击完成

2.2 构建 HAR 包

选中 HAR 模块,执行菜单命令:

复制代码
Build → Make Module '<module-name>'

构建完成后会在模块的 build 目录下生成 .har 文件。

注意 :若修改了 HAR 包模块级 oh-package.json5 文件中 version 字段信息,请先执行 Build > Clean Project 指令,再重新进行 Build 全量构建。


三、HAR 包签名

适用场景 :签名后的 HAR 包可用于接入生态市场,接入流程请参考 SDK类商品接入说明

3.1 前提条件

  • Compatible SDK 5.0.0(12) 及以上版本
  • 已开启 Hvigor Daemon 能力

3.2 开启 Daemon

打开 File > Settings(macOS 为 DevEco Studio > Preferences/Settings)>Build, Execution, Deployment > Build Tools > Hvigor,勾选 Enable the Daemon for tasks

3.3 配置签名开关

在项目根目录的 hvigor-config.json5 中添加:

json5 复制代码
{
  "properties": {
    "ohos.sign.har": true
  }
}

3.4 配置签名信息

配置工程签名信息,详细流程请参考 配置签名信息

3.5 构建签名 HAR

选中 HAR 模块的根目录,点击 Build > Make Module '<module-name>' 启动构建。

构建完成后,build 目录下生成签名后的 HAR 包产物。


四、准备发布文件

在 HAR 模块中(与 src 文件夹同一级目录下),需要添加以下文件:

4.1 README.md(必需)

必须包含包的介绍和引用方式,还可以根据包的内容添加更详细介绍。

markdown 复制代码
# 组件名称

## 简介
简要描述组件的功能和用途

## 引用方式

```bash
ohpm install @your-org/your-package

使用示例

typescript 复制代码
import { YourComponent } from '@your-org/your-package'

// 使用组件

API 文档

详细的 API 说明...

更新日志

查看 CHANGELOG.md

许可证

MIT

复制代码
### 4.2 CHANGELOG.md(必需)

填写 HAR 的版本更新记录。

```markdown
# 更新日志

## [1.0.0] - 2024-01-01

### 新增
- 初始版本发布
- 实现基础功能 A
- 实现基础功能 B

### 修复
- 修复问题 X

## [0.9.0] - 2023-12-15

### 新增
- Beta 版本

4.3 LICENSE 文件(必需)

添加开源许可文件,常用许可证包括:

  • MIT License
  • Apache License 2.0
  • BSD License

MIT License 示例

复制代码
MIT License

Copyright (c) 2024 Your Name

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

4.4 重新构建

添加完上述文件后,重新编译 HAR 模块,生成最终的 .har 文件。


五、配置发布认证

5.1 生成 SSH 密钥

利用工具 ssh-keygen 生成公、私钥,执行以下命令:

bash 复制代码
ssh-keygen -m PEM -t RSA -b 4096 -f ~/.ssh_ohpm/mykey

参数说明

参数 说明
-m PEM 使用 PEM 格式
-t RSA 使用 RSA 算法
-b 4096 密钥长度为 4096 位
-f 指定私钥文件路径

说明

  • ~/.ssh_ohpm/mykey 为私钥文件 mykey 的文件路径,按照实际情况指定
  • 指定的私钥存储目录必须存在
  • 追加了 .pub 后缀的相应公钥文件会存放在和私钥相同的目录下
  • OHPM 包管理器只支持加密密钥认证,请在生成公私钥时输入密码

5.2 配置公钥

  1. 登录 OpenHarmony 三方库中心仓官网
  2. 点击主页右上角的「个人中心」
  3. 选择「新增 OHPM 公钥」
  4. 将公钥文件(mykey.pub)的内容粘贴到公钥输入框中
  5. 保存

5.3 配置私钥路径

打开命令行工具,执行以下命令将私钥路径配置到 .ohpmrc 文件中:

bash 复制代码
ohpm config set key_path ~/.ssh_ohpm/mykey

5.4 获取并配置发布码

  1. 在个人中心页面复制「发布码」
  2. 执行命令配置发布码:
bash 复制代码
ohpm config set publish_id your_publish_id

六、发布 HAR 包

6.1 执行发布命令

在命令行中执行发布命令,<HAR路径> 需指定为 .har 文件的具体路径:

bash 复制代码
ohpm publish <HAR路径>

示例

bash 复制代码
ohpm publish ./entry/build/default/entry/default/entry@1.0.0.har

6.2 发布流程

复制代码
1. OHPM 验证密钥
    ↓
2. 上传 HAR 包
    ↓
3. 验证包结构
    ↓
4. 发布成功

6.3 验证发布

发布成功后,其他开发者可以通过以下命令安装使用你的包:

bash 复制代码
ohpm install @your-org/your-package

在 OpenHarmony 三方库中心仓也可以搜索到你的包。


七、完整流程总结

复制代码
┌─────────────────────────────────────────────────────────┐
│              HAR 包开发与发布完整流程                     │
└─────────────────────────────────────────────────────────┘

┌──────────────┐
│ 1. 创建 HAR  │
│    模块      │
└──────┬───────┘
       ↓
┌──────────────┐
│ 2. 编写代码  │
│    和配置    │
└──────┬───────┘
       ↓
┌──────────────┐
│ 3. 添加发布  │
│    文件      │
│  - README.md │
│  - CHANGELOG │
│  - LICENSE   │
└──────┬───────┘
       ↓
┌──────────────┐     ┌──────────────┐
│ 4a. 构建 HAR │     │ 4b. 签名 HAR │
│    (普通)    │     │   (可选)     │
└──────┬───────┘     └──────┬───────┘
       ↓                     ↓
       └──────────┬──────────┘
                  ↓
         ┌──────────────┐
         │ 5. 生成 SSH  │
         │    密钥对    │
         └──────┬───────┘
                ↓
         ┌──────────────┐
         │ 6. 配置认证  │
         │  - 公钥上传  │
         │  - 私钥配置  │
         │  - 发布码    │
         └──────┬───────┘
                ↓
         ┌──────────────┐
         │ 7. 执行发布  │
         │ ohpm publish │
         └──────┬───────┘
                ↓
         ┌──────────────┐
         │ 8. 其他开发  │
         │    者使用    │
         └──────────────┘

八、常见问题

Q1:发布时提示认证失败怎么办?

A:请检查以下几点:

  1. 公钥是否正确上传到个人中心
  2. 私钥路径是否通过 ohpm config set key_path 正确配置
  3. 生成密钥时输入的密码是否正确
  4. 发布码是否正确配置

Q2:构建后找不到 .har 文件?

A:请确认:

  1. 执行了 Build > Make Module 而非 Build > Rebuild Project
  2. 检查模块目录下的 build 文件夹
  3. 确认选择的模块是 HAR 类型模块

Q3:修改版本号后构建失败?

A

  1. 先执行 Build > Clean Project
  2. 再执行 Build > Make Module 重新构建

Q4:签名 HAR 有什么好处?

A

  • 可用于接入生态市场
  • 增加包的可信度
  • 防止包被篡改

Q5:如何更新已发布的 HAR 包?

A

  1. 修改 oh-package.json5 中的版本号
  2. 更新 CHANGELOG.md
  3. 清理并重新构建
  4. 重新执行发布命令

参考文档

相关推荐
柒儿吖2 小时前
Flutter跨平台三方库image_picker在鸿蒙中的使用指南
flutter·华为·harmonyos
世人万千丶2 小时前
鸿蒙跨端框架Flutter学习day 2、常用UI组件-折行布局 Wrap & Chip
学习·flutter·ui·华为·harmonyos·鸿蒙
柒儿吖2 小时前
Flutter跨平台三方库file_selector在鸿蒙中的使用指南
flutter·华为·harmonyos
柒儿吖2 小时前
Flutter跨平台三方库url_launcher在鸿蒙中的使用指南
flutter·华为·harmonyos
小雨青年2 小时前
鸿蒙 HarmonyOS 6 | 逻辑核心 (04):原生网络库 RCP 高性能实战
网络·华为·harmonyos
哈哈你是真的厉害2 小时前
React Native 鸿蒙跨平台开发:Tag 标签详解实战
华为·harmonyos·reactnative
阿钱真强道2 小时前
04 ubuntu20下 OpenHarmony-3.0-LTS qemu mps2-an386 运行 liteos_m
linux·嵌入式硬件·ubuntu·harmonyos
奋斗的小青年!!3 小时前
Flutter跨平台开发适配鸿蒙:骨架屏,让加载不那么“煎熬“
flutter·harmonyos·鸿蒙
小雨青年3 小时前
鸿蒙 HarmonyOS 6 | 逻辑核心 (03):网络通信——Axios 封装、拦截器设计与泛型接口处理
华为·harmonyos