络腮胡菲菲 发表于 2025-4-7 21:39:26

鸿蒙NEXT开发-发布三方库

开发一个三方库

如需发布一个 har 包,必须包罗 oh-package.json5、README.md,CHANGELOG.md 和 LICENSE 四个文件,若文件缺失,会导致上架至中心仓失败。

HAR(Harmony Archive)是静态共享包,可以包罗代码、C++库、资源和设置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP,不能独立安装运行在装备上,只能作为应用模块的依靠项被引用。
 

https://i-blog.csdnimg.cn/img_convert/7eba592b509890011729741649cabe44.png


1、创建一个新的工程项目


https://i-blog.csdnimg.cn/img_convert/4cc4b285b0fa909012617e0b1c933ccc.png

2、创建库模块,选择static library


[*]鼠标移到工程目录顶部,单击右键,选择New > Module,在工程中添加模块。
[*]在Choose Your Ability Template界面中,选择Static Library,并单击Next。

https://i-blog.csdnimg.cn/img_convert/6c41856487289be97639e090d6bee4e4.png

创建完成后,会在工程目录中生成库模块及相关文件。

https://i-blog.csdnimg.cn/img_convert/2eef9a23530f19a2f572496a011867ee.png

3、对所创建的库模块进行开发,需要完善库模块中生成的 oh-package.json5 文件


OpenHarmony 三方库命名规范:


[*]格式为:@group/packagename 或 packagename,长度:,全局唯一,即一个应用中,不同 package 的 package name 不能重名;
[*]name 中只有在存在组织名称 group 时,才气有且仅能有一个'@'符号,有且仅有一个路径分隔符'/';
[*]组织名称 group 格式:
(1)仅允许以小写字母开头,可由小写字母、数字、中划线(-)、下划线(_)构成。
(2)禁止以中划线(-)、下划线(_)结尾。
(3)不允许为 ArkTS 的保留关键字。
[*]packagename 格式:
(1)仅允许以小写字母开头,可由小写字母、数字、点(.)、中划线(-)、下划线(_)构成。
(2)禁止以点(.)、中划线(-)、下划线(_)结尾。
(3)不允许为 ArkTS 的保留关键字。
[*]发起三方库名称携带组织名称 group,便于管理和辨认三方库。
当您选择三方库名称时,请满足 OpenHarmony 三方库命名规范,同时也请选择名称是:


[*]独特的;
[*]有形貌性的;
[*]符合正常条例的,比方,请不要给您的三方库起一个冒犯性的名字,也不要使用别人的商标名。
此外,在为未加命令空间的三方库选择名称时,还请选择一个名称:


[*]尚未归他人所有;
[*]与另一个三方库名称的拼写方式不同;
[*]不会混淆其他作者身份。

{
"license": "Apache-2.0",
    "devDependencies": {},
"keywords": [
    "OpenHarmony",
    "HarmonyOS",
    "file",
    "fileUpload",
    "upload",
    "image",
    "download"
],
    "ibestservices": {
    "org": "opensource"
},
"author": "ibestservices",
    "name": "@ibestservices/file_operation",
    "description": "A harmonyos plugin for file and image upload download",
    "main": "index.ets",
    "repository": "https://gitee.com/ibestservices/file_operation.git",
    "version": "4.0.0",
    "dependencies": {},
"tags": [
    "file_operation"
]
}
4、在库模块的根目录中,创建一个 README.md 文件,形貌您三方库的代码以及如何使用它,文件不能为空


https://i-blog.csdnimg.cn/img_convert/a2fecf6d9cc0c0cc275acf1513c3a818.png

5、在库模块的根目录中,创建一个 CHANGELOG.md 文件,形貌您三方库的代码不同版本的变更内容,文件不能为空


https://i-blog.csdnimg.cn/img_convert/503697de80b5ff159348a6c0356446bb.png

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


https://i-blog.csdnimg.cn/img_convert/bbc85bc070a1a032251405e7484a0b37.png
直接找个apache2.0开源协议即可

7、利用 DevEco Studio 对开发后的库模块打成 HAR 包

开发完库模块后,选中模块名,然后通过DevEco Studio菜单栏的Build > Make Module ${libraryName}进行编译构建,生成HAR。HAR可用于工程别的模块的引用,或将HAR上传至ohpm堆栈,供其他开发者下载使用。

https://i-blog.csdnimg.cn/img_convert/a8a98fa3d7581c39fca2834aa08ebe03.png

编译构建的HAR可在模块下的build目录下获取,包格式为*.har。


https://i-blog.csdnimg.cn/img_convert/861c1040ded7bef3ea94bf043f77306c.png

发布中心仓

1、请先确保在OpenHarmony三方库中心仓上已经创建了帐号,且进行了认证管理。

OpenHarmony三方库中心仓

2、打开开发工具的终端,利用工具ssh-keygen生成公、私钥,可实行以下命令


https://i-blog.csdnimg.cn/img_convert/f9f2a9e37976f7d00bee60bcf44635dc.png
ssh-keygen -m PEM -t RSA -b 4096 -f 生成的公钥私钥指定的路径地址和文件名
ssh-keygen -m PEM -t RSA -b 4096 -f E:\harmonyProject\library_test\demo
我这里指定文件名是demo,这个文件无需自己手动创建,系统会自动生成

3、登录OpenHarmony三方库中心仓官网,单击主页右上角的个人中心, 新增OHPM公钥,将公钥文件(demo.pub)的内容粘贴到公钥输入框中。


https://i-blog.csdnimg.cn/img_convert/677650dc1ec16ec7fb42471f6bc6ea8f.png

4、打开命令行工具,将对应私钥文件路径设置到 .ohpmrc 文件中 key_path 字段上,可实行以下命令进行设置

ohpm config set key_path E:\harmonyProject\library_test\demo

5、登录OpenHarmony三方库中心仓官网,单击主页右上角的个人中心,复制发布码,获取发布码并设置到 .ohpmrc 文件中,可实行如下命令:


https://i-blog.csdnimg.cn/img_convert/1ba1c88d5991dc5ec984df396f476719.png

ohpm config set publish_id 发布码


https://i-blog.csdnimg.cn/img_convert/eedbfb911857c56d44ad0e8c862c8520.png

6、设置发布地址

ohpm config set publish_registry https://ohpm.openharmony.cn/ohpm
7、实行如下命令发布HAR,<HAR路径>需指定为.har文件的具体路径。

ohpm publish <HAR路径>


https://i-blog.csdnimg.cn/img_convert/65e6e525327468c29e0c85f8af3ddb73.png


8、之后就可以在三方库中心仓看到你提交的记载


https://i-blog.csdnimg.cn/img_convert/ab1cc946ce470d93f45b9dc112551db3.png

9、审核通过就可以在中心仓搜到你提交的三方库了



https://i-blog.csdnimg.cn/img_convert/01ae9ec092376089698929cda9c13624.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 鸿蒙NEXT开发-发布三方库