一、背景:鸿蒙生态的爆发

自 HarmonyOS NEXT(鸿蒙 5.0)全面去 Android 化以来,鸿蒙已从一个“兼容安卓”的系统蜕变为纯自研的全场景操作系统。截至 2026 年:

  • HarmonyOS 6.x 终端设备数突破 6000 万
  • 覆盖 18 个核心垂直领域
  • API 版本迭代至 26(OpenHarmony 7.0 Beta1)

生态的繁荣离不开三方库——它是开发者效率的倍增器,也是生态成熟度的关键指标。

二、OHPM:鸿蒙的包管理引擎

本文全面解析 HarmonyOS NEXT 时代的三方库生态,涵盖 OHPM 包管理工具的核心用法、ArkTS 库的分类与热门推荐、项目集成实战、贡献发布全流程以及生态展望。无论你是鸿蒙应用开发者寻求效率提升,还是开源贡献者希望抢占蓝海,本文都将为你提供从入门到精通的完整指南。

OHPM(OpenHarmony Package Manager)是鸿蒙生态的标准包管理工具,由三部分组成:

组件 功能
中心仓网站 检索、查看三方库信息,管理个人/组织配置
命令行工具(CLI) 安装、更新、卸载、发布三方库
中心仓仓库(Registry) 存储所有三方库及其元数据

官方地址:ohpm.openharmony.cn

常用命令速查

# 安装三方库
ohpm install @ohos/axios

# 安装指定版本
ohpm install @ohos/crypto-js@2.0.1

# 卸载三方库
ohpm uninstall @ohos/axios

# 更新三方库
ohpm update @ohos/axios

# 发布三方库
ohpm publish ./build/default/outputs/default/xxx.har

# 配置私钥路径(发布前)
ohpm config set key_path ~/.ssh/ohpm_rsa

# 配置发布码
ohpm config set publish_id your_publish_id

三、三方库分类与热门推荐

鸿蒙三方库主要分为两类:

按开发语言

类型 说明
ArkTS/TS/JS 库 可直接在项目中 import 使用,占绝大多数
C/C++ 库 通过 NAPI 方式调用,用于高性能场景

按功能分类

当前 OpenHarmony 三方库中心仓已覆盖以下类别:

类别 代表性功能 示例包名 基本用法示例(ArkTS)
网络请求 HTTP 客户端、WebSocket @ohos/axios typescript<br>import axios from '@ohos/axios';<br><br>// GET 请求示例<br>axios.get('https://api.example.com/data')<br> .then((response) => {<br> console.info('Response data:', response.data);<br> })<br> .catch((error) => {<br> console.error('Request failed:', error);<br> });<br>
UI 组件 图表、轮播、富文本、下拉刷新 各类 UI 组件库 typescript<br>// 以图表组件为例<br>import { LineChart } from '@ohos/charts';<br><br>@Component<br>struct ChartExample {<br> private data: number[] = [10, 20, 30, 40, 50];<br><br> build() {<br> Column() {<br> LineChart({ data: this.data })<br> .width('100%')<br> .height(300)<br> }<br> }<br>}<br>
工具库 加解密、日期处理、颜色转换 @ohos/crypto-js、@ohos/dayjs typescript<br>import { CryptoJS } from '@ohos/crypto-js';<br>import dayjs from '@ohos/dayjs';<br><br>// 1. 加密示例<br>const hash = CryptoJS.MD5('123456');<br>console.info('MD5 hash:', hash.toString());<br><br>// 2. 日期处理示例<br>const now = dayjs();<br>const formatted = now.format('YYYY-MM-DD HH:mm:ss');<br>console.info('Current time:', formatted);<br>
动画 Lottie 动画、过渡动效 Lottie for HarmonyOS typescript<br>import { LottieAnimation } from '@ohos/lottie';<br><br>@Component<br>struct AnimationExample {<br> build() {<br> Column() {<br> LottieAnimation('loading.json')<br> .width(100)<br> .height(100)<br> .autoPlay(true)<br> .loop(true)<br> }<br> }<br>}<br>
存储 键值对、文件、数据库 ORM 数据库适配库 typescript<br>import { KVStore } from '@ohos/data-storage';<br><br>// 键值对存储示例<br>const kvStore = new KVStore('myApp');<br>await kvStore.putString('username', 'HarmonyDev');<br>const name = await kvStore.getString('username');<br>console.info('Stored username:', name);<br>
安全 加密算法、证书校验 @ohos/crypto-js 等 typescript<br>import { CryptoJS } from '@ohos/crypto-js';<br><br>// AES 加密示例<br>const encrypted = CryptoJS.AES.encrypt(<br> 'secret message',<br> 'my-secret-key'<br>).toString();<br>console.info('Encrypted:', encrypted);<br><br>const decrypted = CryptoJS.AES.decrypt(<br> encrypted,<br> 'my-secret-key'<br>).toString(CryptoJS.enc.Utf8);<br>console.info('Decrypted:', decrypted);<br>
多媒体 图片加载、音视频处理 图片缓存与加载库 typescript<br>import { ImageLoader } from '@ohos/image-loader';<br><br>@Component<br>struct ImageExample {<br> build() {<br> Column() {<br> ImageLoader('https://example.com/photo.jpg')<br> .width(200)<br> .height(200)<br> .placeholder($r('app.media.loading'))<br> .error($r('app.media.error'))<br> }<br> }<br>}<br>
数据 JSON 解析、状态管理 各类状态管理方案 typescript<br>// 状态管理示例(简化版)<br>import { observable, action } from '@ohos/mobx-harmony';<br><br>class CounterStore {<br> @observable count: number = 0;<br><br> @action<br> increment() {<br> this.count++;<br> }<br>}<br><br>const store = new CounterStore();<br>store.increment();<br>console.info('Current count:', store.count);<br>

四、如何在项目中使用三方库

4.1 安装

oh-package.json5 中声明依赖:

{
  "dependencies": {
    "@ohos/crypto-js": "2.0.1",
    "@ohos/axios": "^1.0.0"
  }
}

然后执行:

ohpm install

也可以直接安装,自动写入 oh-package.json5

ohpm install @ohos/axios

4.2 引用

安装完成后在 ArkTS 代码中直接引入:

import { CryptoJS } from '@ohos/crypto-js';

let hash = CryptoJS.MD5("123456");

4.3 本地引用

也支持引用本地 .har 文件或文件夹:

ohpm install ./local-package.har
# 或
ohpm install ../my-library-folder

五、如何贡献和发布三方库

对开发者来说,在鸿蒙生态中贡献三方库是获取流量和技术影响力的绝佳机会——当前中心仓的库数量远不及 npm,竞争小、曝光高。

5.1 创建库工程

  1. 在 DevEco Studio 中新建 Empty Ability 工程
  2. File → New → Module,选择 Static Library 模板
  3. 编写库代码,编辑 oh-package.json5

5.2 oh-package.json5 关键字段

{
  "name": "@your-org/your-library",
  "version": "1.0.0",
  "description": "库描述",
  "main": "index.ts",
  "ohos": {
    "org": "opensource"
  },
  "keywords": ["HarmonyOS", "OpenHarmony", "Tools"],
  "license": "MIT",
  "repository": "https://gitee.com/your-org/your-library",
  "dependencies": {},
  "tags": ["Tools"]
}

5.3 发布流程

  1. 注册 OpenHarmony 三方库中心仓账号
  2. 生成 RSA 公私钥对(ssh-keygen -m PEM -t RSA -b 4096
  3. 在个人中心上传公钥
  4. 配置私钥路径:ohpm config set key_path your_key
  5. 复制发布码 → 配置:ohpm config set publish_id your_id
  6. 构建 HAR:Build → Make
  7. 发布:ohpm publish build/default/outputs/default/xxx.har

常见坑

  • 组织未认证name 中的组织(如 @your-org)需要在中心仓的组织管理中申请认证
  • 文件缺失:发布前需确保有 CHANGELOG.mdLICENSEREADME.md
  • passphrase:生成密钥时必须填写非空的 passphrase

六、鸿蒙三方库测试

DevEco Studio 内置测试框架(OpenHarmony Test),支持在模拟器或真机上执行:

describe('CryptoJS Test Suite', () => {
  beforeAll(() => {
    console.info('Before all tests');
  });

  beforeEach(() => {
    console.info('Before each test');
  });

  it('should generate MD5 hash correctly', () => {
    const hash = CryptoJS.MD5('123456');
    expect(hash.toString()).toEqual('e10adc3949ba59abbe56e057f20f883e');
  });

  afterEach(() => {
    console.info('After each test');
  });

  afterAll(() => {
    console.info('After all tests');
  });
});

测试文件放在 ohosTest 目录下,命名约定:xxx.test.ets

七、生态展望

维度 当前状态 趋势
设备基数 6000 万+ 持续增长中
三方库数量 初具规模,但仍远少于 npm 快速增长期
开发工具链 DevEco Studio + OHPM 成熟度逐渐接近主流 IDE
AI 集成 HarmonyOS 6.x 开始 AI 深度融合 将成为差异化优势
贡献者机会 蓝海,竞争少、曝光高 窗口期有限,建议尽早入场

八、写在最后

鸿蒙三方库生态正处于从量变到质变的关键阶段。对开发者来说:

  • 使用者:OHPM 让引入三方库像 npm 一样简单,当前库数量虽少但精品频出
  • 贡献者:现在是进入的最佳时机——发布一个高质量的鸿蒙三方库,可能在数千个鸿蒙应用中被引用

官方入口:OpenHarmony 三方库中心仓

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐