前语
当咱们开发了一个独立的功用,想让别人进行运用,一般的方法便是开源出去,有源码的方法,也有文件包的方法,当然了也有长途依靠的方法,比如在Android中,咱们能够提供源码,也能够打包成一个aar,当然了也能够maven库房方法的长途依靠。
无论是内部多项目方法的开发,仍是开源供别人运用,无疑长途依靠的方法是最方便的,有了更改,只需变动版别号就能够了,当然了,如果是内部,仅仅是单一项目运用,大可不必采用长途依靠,直接在放入到项目中开发即可。
需求留意的是,静态同享包的长途发布和是否是NEXT体系没有直接的关联,你是Api9,也是能够发布至长途的,当然了,考虑到NEXT的到来,很多Api有些许的差异,也期望咱们能够根据NEXT进行发布。
本篇文章同享如下:
1、怎么打一个静态同享包
2、静态同享包上传前的文件装备
3、上传一个静态同享包
4、静态同享包的运用、更新与删除
5、总结
一、怎么打一个静态同享包
这个就太简略了,在之前的文章HarmonyOS开发:走进静态同享包的依靠与运用中,关于静态包的创立以及运用,做了很具体的介绍了,有兴趣的同学能够查看,当然了,这儿也简略的概述一下。
1、创立静态同享包
在项目右键,新建Module:
挑选StaticLibrary:
填写Module名,挑选设备,现在支撑三种设备,手机、平板、2和1的平板电脑。
创立完结。
2、编译静态同享包
静态同享包创立完结之后,咱们就能够编写自己的代码了,能够包含代码、C++库、资源和装备文件,具体的功用性运用,咱们能够看之前同享的文章,因为NEXT和之前的版别有部分语法上的差异,咱们在NEXT版别上需求留意。
这儿有一点需求留意,那便是混杂方法,之前的混杂方法,build-profile.json5文件中增加artifactType特点为obfuscation,但是在NEXT版别之后就不支撑了。
NEXT版别混杂如下,在模块级的build-profile.json5装备文件中敞开混杂功用,有点类似于AndroidStudio里的混杂方法。
{
"apiType": "stageMode",
...
"buildOptionSet": [
{
"name": "release",
"arkOptions": {
"obfuscation": {
"ruleOptions": {
"enable": true, // true表明进行混杂,false表明不进行混杂。默认值为true
"files": [
"./obfuscation-rules.txt" // 混杂规则文件
]
}
}
}
},
],
...
}
一切功用都开发完结之后,点击当时的静态同享包,挑选Build中第一个选项。
编译之后,在静态同享包下,如下的方位,就会产生一个har包,证明就编译成功了,这个便是咱们最终要上传的包。
二、静态同享包上传前的文件装备
在OpenHarmony三方库中心仓中,仅仅上传一个har包,是不能上传成功的,必须得有针对静态同享包的描述也便是README文件,更新版别信息CHANGELOG文件,还有便是开源协议license,这些都是必要的。
1、README文件
和大多数开源项目相同,首要介绍静态同享包的功用,运用方法等等,当然,咱们也能够去OpenHarmony三方库中心仓看看别人是怎么写的,当然了,有条件的,能够写两份,一份中文,一份英文。
这些信息,首要展现在描述信息里,如下所示:
2、CHANGELOG文件
CHANGELOG文件也是md文件,首要记载当时的更新版别信息,如下所示:
以上呢,首要展现在版别信息里,如下所示:
3、开源协议license
LICENSE文件的存在关于三方库开源尤其重要,因为它保证了软件的自在和敞开,一起也允许作者保留某些权利,支撑大部分的开源协议。
除了以上之外呢,还有一处是比较重要的,那就静态同享包的基本信息填写,会展现在右侧的模块里:
首要是oh-package.json5文件,包含了静态包的姓名,版别,描述信息等。
{
"name": "姓名",
"version": "版别号",
"description": "描述信息",
"main": "Index.ets",
"author": "作者",
"license": "Apache-2.0",
"keywords": ["搜索关键词"],
"homepage": "主页地址",
"repository": "库房地址",
"dependencies": {}
}
三、上传一个静态同享包
当一个静态同享包,一切的准备工作完结之后,咱们就能够上传长途库房了,也便是OpenHarmony三方库中心仓。
1、注册账号
第一步便是注册账号,地址是:ohpm.openharmony.cn。
2、新增安排管理
也便是以后你的开源包上传到哪个安排下,这个有审阅,之前审阅特别慢,但是最近审阅仍是很快的。
安排称号,一般简略的英文即可。
3、生成公、私钥
打开指令行窗口,履行如下指令,your_key_path便是你要生成到哪个途径下:
ssh-keygen -m PEM -t RSA -b 4096 -f your_key_path
中间有一步需求设置密码,这个密码一定要记住,以后发布都会用到。
履行成功后,会生成两个文件,一个公钥一个私钥,如下所示:
4、新增OHPM公钥
回到OpenHarmony三方库中心仓,点击个人中心,点击认证管理,新增即可。
点击新增之后,把第3步中生成的公钥,也便是.pub文件内容仿制过来,保存即可。
5、装备私钥文件
相同的,打开指令行东西,履行如下指令,your_key_path便是私钥文件途径。
ohpm config set key_path your_key_path
6、仿制发布码并装备
去OpenHarmony三方库中心仓个人中心中,点击仿制发布码。
打开指令行东西,设置发布码,your_publish_id便是刚才仿制的发布码。
ohpm config set publish_id your_publish_id
7、发布HAR
履行如下指令,HAR途径便是打出的静态包途径。
ohpm publish HAR途径
履行完指令后,输入装备的秘钥密码即可:
指令履行成功之后,就能够在个人中心的音讯里,看到审阅记载。
审阅成功之后,在OpenHarmony三方库中心仓里就能够看到了,之后就能够长途依靠运用了。
四、静态同享包的运用、更新与删除
1、运用静态同享包
静态同享包,发布成功,并且审阅通过之后,那么运用,则是十分的简略,只需求在oh-package.json5文件里的dependencies特点里,把长途依靠即可,当然了,这儿需求进行同步项目。
这种长途依靠的方法,是不是要比本地har包或者Module的方法要简略的多了。需求留意的是,关于三方库的姓名,需求规划化:
OpenHarmony 三方库命名标准:
格式如 @group/package_name,大局仅有;
除了 @ 和 / 之外,group 和 package_name 只能由小写字母、数字、_和 - 组成;
总长度小于等于 128 个字符;
须以字母最初;
不能是 ArkTS 的保留关键字。
当然了,除了以上的手动输入依靠之外,你也能够进行指令操作,会自动的在oh-package.json5文件里的dependencies特点里进行装备。
ohpm install <package_name>
2、更新静态同享包
更新有两种方法,一种是手动更改版别号,也便是在oh-package.json5文件里的dependencies里进行手动更改,从头同步项目即可,另一种便是指令操作。
更新一切三方库:
ohpm update
更新指定称号的三方库:
ohpm update <package_name>
3、移除静态同享包
移除,最简略的方法便是在oh-package.json5文件里的dependencies里进行手动移除,然后同步项目即可。当然,你也能够履行指令移除。
移除单个:
ohpm uninstall <package_name>
移除一切三方库:
ohpm uninstall
五、总结
有的同学可能会有疑问,静态同享包中的代码和资源跟从运用方编译,如果有多个运用方,它们的编译产物中会存在多份相同复制,而动态同享包能够让多个HAP同享同一公共资源代码,极大程度上减少了包体积,为什么不把动态同享包上传至长途,进行依靠呢?
能够告诉咱们的是,是因为现在官方还不支撑,当下长途依靠仅支撑静态同享包的发布,不过呢,在私仓能够运用;究竟动态同享包只支撑在运用内同享,不支撑跨运用同享,可能也是趋于这一层原因。
好了,本篇文章就到这儿,下一篇,咱们探究下同享包的私服搭建和运用。