鸿蒙-如何发布一个三方库

文章目录

最近不是觉得官方的展示富文本的控件 RichTextRichEditor不好用嘛,然后自己撸了一个能展示简单富文本的组件,具体文章内容看 鸿蒙-做一个简单的、大家都能学会的富文本解析渲染控件。然后把这个控件发布到了 OpenHarmony三方库中心仓,地址 simplehtmlrender,没有依赖任何三方控件,使用官方的xml解析器进行解析,使用 TextContainerSpanSpanImageSpan进行展示。
这里记录一下发布过程以及需要注意的点

需要的工具

DevEcoStudio和ohpm命令行工具。

安装完DevEcoStudio后,windows上ohpm在安装目录的DevEco Studio\tools\ohpm\bin文件夹下,mac上是在/Applications/DevEco-Studio.app/Contents/tools/ohpm/bin文件夹下。

注册账号

这没啥好说的,按提示注册就好了

认证管理

生成公私密钥文件

利用工具 ssh-keygen 生成公、私钥文件,这个和github的流程差不多

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

windows下可以把路径换成C:\Users\username\.ssh_ohpm

需要注意几点:

  • 先创建对应的文件夹,否则会报错。
  • 生成公私密钥文件时一定要输入密码,不要直接回车跳过,要不然在发布流程会有对应提示,还得再重新生成

上传公钥

在【个人中心】-【认证管理】下:点击页面左上角的"新增"按钮,并将公钥文件(mykey.pub)的内容粘贴到公钥输入框中。

.ohpmrc文件的key_path字段上。该文件一般在C:\Users\username\.ohpm 或者mac的~/.ohpm文件夹下。

找不到这个文件也可以执行下面的命令进行配置

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

同样的,windows下把路径换成C:\Users\username\.ssh_ohpm

发布之前的配置

登录OpenHarmony三方库中心仓,从 【个人中心】页面中【复制发布码】,并配置到.ohpmrc文件中publish_id字段上,可执行如下命令:

shell 复制代码
ohpm config set publish_id your_publish_id

配置发布地址:

shell 复制代码
ohpm config set publish_registry https://ohpm.openharmony.cn/ohpm

其他

可以创建自己的组织,这个不是必须的。

注意一下三方库的名称,三方库名称指南

编写及发布

创建项目

创建一个新的项目,然后在项目中创建一个Module,这里需要选择static library。然后在这个Module中编写相关代码。

必须的文件

README.md

在Module的根目录创建一个 README.md 文件,描述您三方库的代码以及如何使用它,文件不能为空。

并且该文件中必须 包含如何安装,也就是 ohpm install 库名字,否则审核不通过。

可以看下其他仓库怎么写的。基本上包含如何安装、如何使用以及一些示例。

该文件的内容会展示在仓库的描述标签下。

CHANGELOG.md

在Module的根目录中,创建一个 CHANGELOG.md 文件,描述您三方库的代码不同版本的变更内容,文件不能为空。

该文件的内容会展示在仓库的更新日志标签下

LICENSE

在Module的根目录中,创建一个 LICENSE 文件,指定该软件包可以在什么样的许可下被使用、修改和共享,文件不能为空。

oh-package.json5
json 复制代码
{
  "name": "simplehtmlrender",
  "version": "1.0.2",
  "description": "简易的富文本渲染控件,支持span、font、br、a标签,支持color、font-color、size、font-size、background、href属性",
  "main": "Index.ets",
  "keywords": ["富文本","html展示","富文本展示"],
  "author": {"name": 'huangyuan',"email": "huangyuan@huangyuanlove.com"},
  "license": "Apache-2.0",
  "homepage": 'https://juejin.cn/post/7427455855941156876',
  "repository":'https://gitee.com/huangyuan/SimpleHtmlRender',
  "dependencies": {},
}

其中,nameversiondescriptionkeywordsauthorlicense字段是必须的

评分

三方库中央仓里面还有个points评分,最高是50分,这个是根据文件、文档的健全程度来打分的,不包含任何个人主观看法。

这个评分很好弄,按照标准来就行

发布

发布之前删除敏感信息
发布之前删除敏感信息
发布之前删除敏感信息

发布的时候需要上传har文件,这就需要使用DevEcoStudio来构建,如何构建看(这里)[https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-hvigor-build-har-V5\]。

我们在前面已经配置好了publish_idpublish_registry信息,接着执行ohpm publish <HAR路径>就可以了。过程中会让你输入生成公钥时使用的密码,上传成功后可以在个人中心-->消息中查看审核是否通过的消息。

如果上传失败,会提示对应的错误信息,根据提示修改就好了

这样就完成了发布。

相关推荐
爱笑的眼睛1112 小时前
HarmonyOS 应用开发深度解析:基于声明式UI的现代化状态管理实践
华为·harmonyos
前端世界12 小时前
HarmonyOS 实战:如何用数据压缩和解压让应用更快更省
华为·harmonyos
哦***713 小时前
华为FreeBuds 7i其他手机能用空间音频吗?如何开启?
华为·音频
安卓开发者13 小时前
鸿蒙Next Web组件详解:属性设置与事件处理实战
前端·华为·harmonyos
安卓开发者13 小时前
鸿蒙NEXT Web组件与JavaScript交互:打通原生与前端的桥梁
前端·javascript·harmonyos
森之鸟13 小时前
鸿蒙审核问题——折叠屏展开态切换时,输入框内容丢失
华为·harmonyos
不爱吃糖的程序媛13 小时前
表格底部增加一行合计功能的实现
华为·harmonyos
猫林老师17 小时前
HarmonyOS 5分布式数据管理初探:实现跨设备数据同步
分布式·harmonyos
爱笑的眼睛1120 小时前
HarmonyOS 应用开发深度解析:ArkUI 声明式 UI 与现代化状态管理最佳实践
华为·harmonyos
被开发耽误的大厨1 天前
鸿蒙项目篇-22-项目功能结构说明-写子页面和导航页面
android·华为·harmonyos·鸿蒙