如何发布鸿蒙三方库

前言

类似于 Android 项目中的 jar/aar ,鸿蒙肯定也是支持第三方依赖库的。

鸿蒙提供了 静态共享包 HAR(Harmony Archive) 和 动态共享包 HSP(Harmony Shared Package) 两种方式。根据官网的介绍:

HAR中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份相同拷贝。

HSP中的代码和资源可以独立编译,运行时在一个进程中代码也只会存在一份。

图片

看起来 HSP 应该是个更好的选择,但是 HSP 的限制又很多。

应用内 HSP 指的是专门为某一应用开发的HSP,只能被该应用内部其他HAP/HSP使用,用于应用内部代码、资源的共享。

应用间 HSP 暂不支持。

所以,理论上,HSP 只支持应用内部源码编译,应用内 HAP 可以共享使用。

如果是需要公开发布产物的 sdk 的话,目前只能选择 HAR 。

准备工作

  1. 首先到 OpenHarmony 三方库中心仓[1] 注册账号,进入到个人中心页面。

图片

  1. 执行 ssh-keygen -m PEM -t RSA -b 4096 -f your_key_path 生成公私钥对,在个人中心 -》认证管理 -》 新增,填入公钥内容。

  2. 执行 ohpm config set key_path your_key_path 配置私钥路径。

  3. 个人中心 头像下方,点击复制发布码。

  4. 执行 ohpm config set publish_id your_publish_id 配置发布码。

准备工作完成。

编写依赖库

以写 WanHarmony[2] 的过程中,编写的一个标签布局组件为例,进行发布过程。

图片

代码实现很简单,总共两个文件,且都需要对外暴露。

HAR 中需要导出的组件/接口,除了常规的 export 修饰符之外,还需要在 Index.ets 中进行声明。

export { FlowLayout } from './src/main/ets/components/flowlayout/FlowLayout'
export { FlowLayoutConfig } from './src/main/ets/components/flowlayout/FlowLayoutConfig'

然后配置到 oh-packages.json5 文件中:

{
  "main": "Index.ets"
}

其他的一些项目配置:

  1. README.md: 必须包含包的介绍和引用方式,如果没有包含安装命令 ohpm install xxx ,审核会被拒

  2. CHANGELOG.md : 更新记录

  3. LICENSE文件

oh-package.json5

这里是依赖库的一些发布信息。示例如下:

{
  "name": "@luyao/flowlayout",   // 必选,@group/packagename
  "version": "1.0.0",       // 必须,版本号,从 1.0.0 开始
  "description": " xxxx",     // 必须,必须大于一定字符,好像是 32
  "keywords": ['flowlayout'],   // 可选
  "main": "Index.ets",      // 必须,入口文件
  "author": "luyao",       // 必须
  "homepage": "https://github.com/lulululbj/WanHarmony",
  "license": "Apache-2.0",    // 必须
  "dependencies": {}       // 可选,用到的依赖
}

完整介绍在这里:https://ohpm.openharmony.cn/#/cn/help/createfile

发布

首先要构建 HAR 产物,选中依赖库的 module,工具栏 Build -》 Make,产物在依赖库 Module 的 build/default/outputs/default/xxx.har 。

执行发布命令,发布过程中会要求输入密码。

ohpm publish <HAR路径>

不出意外的话,应该就发布成功了。但一般情况,肯定是会发生意外的。

如果你遇到这个错误:

图片

说明你在 oh-package.json 文件中的 name 属性填写的组织未经过认证。比如我填写的是 @luyao/flowlayoutluyao 这个组织就是未经认证的。

但也不麻烦,申请一下就行。到 OpenHarmony 三方库中心仓[3] 的 个人中心 -》组织管理 -》新增,然后等到审核通过即可。

截止完成本文,因为没有说明安装命令被拒一次,后续如果发布成功,在这个 https://ohpm.openharmony.cn/#/cn/detail/@luyao%2Fflowlayout 地址应该可以看到我发布的库。

资料推荐

  1. 如何创建 HAR[4] 来自 OpenHarmony 网站

  2. 发布 HAR[5] 来自 HarmonyOS 网站

  3. 创建及发布三方库[6] 来自 OpenHarmony 三方库中心仓文档 OpeOpenHarmony三方库中心仓rmony三方库中心仓


参考资料

[1]

OpenHarmony 三方库中心仓: https://ohpm.openharmony.cn/#/cn/home

[2]

WanHarmony: https://github.com/lulululbj/WanHarmony

[3]

OpenHarmony 三方库中心仓: https://ohpm.openharmony.cn/#/cn/personalCenter/organizations

[4]

如何创建 HAR: https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/quick-start/har-package.md/

[5]

发布 HAR: https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/creating_har_api9-0000001518082393-V3#section1213451811512

[6]

创建及发布三方库: https://ohpm.openharmony.cn/#/cn/help/createandpublish

转自:如何发布鸿蒙三方库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值