前语

当咱们开发了一个独立的功用,想让别人进行运用,一般的方法便是开源出去,有源码的方法,也有文件包的方法,当然了也有长途依靠的方法,比如在Android中,咱们能够提供源码,也能够打包成一个aar,当然了也能够maven库房方法的长途依靠。

无论是内部多项目方法的开发,仍是开源供别人运用,无疑长途依靠的方法是最方便的,有了更改,只需变动版别号就能够了,当然了,如果是内部,仅仅是单一项目运用,大可不必采用长途依靠,直接在放入到项目中开发即可。

需求留意的是,静态同享包的长途发布和是否是NEXT体系没有直接的关联,你是Api9,也是能够发布至长途的,当然了,考虑到NEXT的到来,很多Api有些许的差异,也期望咱们能够根据NEXT进行发布。

本篇文章同享如下:

1、怎么打一个静态同享包

2、静态同享包上传前的文件装备

3、上传一个静态同享包

4、静态同享包的运用、更新与删除

5、总结

一、怎么打一个静态同享包

这个就太简略了,在之前的文章HarmonyOS开发:走进静态同享包的依靠与运用中,关于静态包的创立以及运用,做了很具体的介绍了,有兴趣的同学能够查看,当然了,这儿也简略的概述一下。

1、创立静态同享包

在项目右键,新建Module:

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

挑选StaticLibrary:

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

填写Module名,挑选设备,现在支撑三种设备,手机、平板、2和1的平板电脑

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

创立完结。

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

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中第一个选项。

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

编译之后,在静态同享包下,如下的方位,就会产生一个har包,证明就编译成功了,这个便是咱们最终要上传的包。

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

二、静态同享包上传前的文件装备

在OpenHarmony三方库中心仓中,仅仅上传一个har包,是不能上传成功的,必须得有针对静态同享包的描述也便是README文件,更新版别信息CHANGELOG文件,还有便是开源协议license,这些都是必要的。

1、README文件

和大多数开源项目相同,首要介绍静态同享包的功用,运用方法等等,当然,咱们也能够去OpenHarmony三方库中心仓看看别人是怎么写的,当然了,有条件的,能够写两份,一份中文,一份英文。

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

这些信息,首要展现在描述信息里,如下所示:

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

2、CHANGELOG文件

CHANGELOG文件也是md文件,首要记载当时的更新版别信息,如下所示:

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

以上呢,首要展现在版别信息里,如下所示:

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

3、开源协议license

LICENSE文件的存在关于三方库开源尤其重要,因为它保证了软件的自在和敞开,一起也允许作者保留某些权利,支撑大部分的开源协议。

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

除了以上之外呢,还有一处是比较重要的,那就静态同享包的基本信息填写,会展现在右侧的模块里:

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

首要是oh-package.json5文件,包含了静态包的姓名,版别,描述信息等。

{
  "name": "姓名",
  "version": "版别号",
  "description": "描述信息",
  "main": "Index.ets",
  "author": "作者",
  "license": "Apache-2.0",
  "keywords": ["搜索关键词"],
  "homepage": "主页地址",
  "repository": "库房地址",
  "dependencies": {}
}

三、上传一个静态同享包

当一个静态同享包,一切的准备工作完结之后,咱们就能够上传长途库房了,也便是OpenHarmony三方库中心仓。

1、注册账号

第一步便是注册账号,地址是:ohpm.openharmony.cn

2、新增安排管理

也便是以后你的开源包上传到哪个安排下,这个有审阅,之前审阅特别慢,但是最近审阅仍是很快的。

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

安排称号,一般简略的英文即可。

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

3、生成公、私钥

打开指令行窗口,履行如下指令,your_key_path便是你要生成到哪个途径下:

ssh-keygen -m PEM -t RSA -b 4096 -f  your_key_path

中间有一步需求设置密码,这个密码一定要记住,以后发布都会用到。

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

履行成功后,会生成两个文件,一个公钥一个私钥,如下所示:

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

4、新增OHPM公钥

回到OpenHarmony三方库中心仓,点击个人中心,点击认证管理,新增即可。

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

点击新增之后,把第3步中生成的公钥,也便是.pub文件内容仿制过来,保存即可。

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

5、装备私钥文件

相同的,打开指令行东西,履行如下指令,your_key_path便是私钥文件途径。

ohpm config set key_path your_key_path

6、仿制发布码并装备

去OpenHarmony三方库中心仓个人中心中,点击仿制发布码。

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

打开指令行东西,设置发布码,your_publish_id便是刚才仿制的发布码。

ohpm config set publish_id your_publish_id

7、发布HAR

履行如下指令,HAR途径便是打出的静态包途径。

ohpm publish HAR途径

履行完指令后,输入装备的秘钥密码即可:

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

指令履行成功之后,就能够在个人中心的音讯里,看到审阅记载。

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

审阅成功之后,在OpenHarmony三方库中心仓里就能够看到了,之后就能够长途依靠运用了。

四、静态同享包的运用、更新与删除

1、运用静态同享包

静态同享包,发布成功,并且审阅通过之后,那么运用,则是十分的简略,只需求在oh-package.json5文件里的dependencies特点里,把长途依靠即可,当然了,这儿需求进行同步项目。

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

这种长途依靠的方法,是不是要比本地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同享同一公共资源代码,极大程度上减少了包体积,为什么不把动态同享包上传至长途,进行依靠呢?

能够告诉咱们的是,是因为现在官方还不支撑,当下长途依靠仅支撑静态同享包的发布,不过呢,在私仓能够运用;究竟动态同享包只支撑在运用内同享,不支撑跨运用同享,可能也是趋于这一层原因。

HarmonyOS开发:超具体介绍怎么开源静态同享包,完结长途依靠

好了,本篇文章就到这儿,下一篇,咱们探究下同享包的私服搭建和运用。