前言
HarmonyOSNEXT以后,一直想做一件事情,那就是如何让鸿蒙打出的包,可以像Android安装apk那样简单便捷!如今,经过多天的开发,测试,验证,一个便捷的插件终于开发完毕,它只有一个特点,那就是一键打包上传,并最终生成下载地址和二维码,可以让您更灵活的发布版本和限定测试范围,助您提前发现问题,及时修复问题和优化版本体验。

插件开发背景
截止到当下,如何让打出的包安装到真机设备中进行测试,目前官方提供的有四种方式,第一种是直接运行安装或者hdc命令安装,这种方式,简单便捷,非常适合于测试人员较少的小团队进行,但是不适合测试人员多的团队,并且不适合异地的场景,测试人员多,意味着设备多,设备多,意味着需要一一运行安装,会耗费大量的时间用于设备安装,将会大大降低研发的开发效率;如果有研发团队在A地办公,而测试团队在B地办公,直接运行安装将更加不便。
除了第一种安装方式之外,官方也提供了AppGallery邀请测试,也就是需要把打出的包,提交至AppGallery后台,流程和正式发布类似,这种方式,解决了测试人员多,设备多以及异地办公等等缺点,它可以让测试团队非常方便的进行测试验证,但是时效性很差,因为虽然是测试版本,但是也必须进行审核,虽然目前官方审核的速度加快了,但是仍然不及时,特别是需要紧急验证的时候,会十分抓狂!
第三种方式就是AppTest邀请测试,但是目前是为受限开放,需要进行申请体验,即便日后全部放开,但最终也必须上架至AppTest客户端,并且仍然需要进行审核,所以和第二种一样,测试验证不及时。
第四种,也就是插件目前在使用的这种,叫做团队内部测试,使用内部测试方式,无需提交应用至华为应用市场,就可以实现下载安装,和Android的Apk安装一样便捷,达到测试验证的及时性。
团队内部测试固然很好,但是流程十分繁琐,需要所有的模块一一打包,并且需要一一获取sha256,最终还需要一一上传并进行签名,才能达到安装的要求,基于此,如何实现简化流程,实现一键打包,便成了我的诉求。
插件下载安装
目前插件已经上传至了Github,大家可以进行下载体验,地址如下:
插件下载好之后,打开我们的开发工具DevEco Studio到设置页面,点击左侧的Plugins,点击设置图标,点击Install Plugin from Disk...

选择下载好的插件,然后点击底部的应用,点击OK即可。

安装完毕之后,那么在你的IDE中就会有一个蓝色的小工具按钮,这个就是内测打包工具的功能入口,位置在,应用运行那一排按钮的后面。

点击之后,就会进入到插件的主窗口。

插件功能介绍
关于插件,有三个功能区域,顶部的区域是最重要的,也是插件的核心功能,包含了基础配置,内部测试品类选择,一键更新和查看更新包;中间的区域是一键更新功能的拆分实现,您可以一步一步的来实现最终的打包上传;底部的区域是指令执行结果展示,在这里,您可以查看每个功能的执行过程以及最后的结果,可以方便您直观的查看。
下面挑选几个重要的功能进行一一解读。
基础配置
因为团队内部测试需要秘钥文件信息,所以在基础配置中,请务必配置正确的信息,这些信息会存储在您的电脑本地,不会进行上传远程,请放心填写。当然了,如果您只是想体验简单的功能,这些信息可以不配置。

设置上传方式的目的,是需要将打出的应用包存储到哪里,以便于进行下载使用,目前提供了有腾讯云和阿里云两种方式,后续看大家需求,再拓展其它的服务器或者本地服务器。 腾讯云和阿里云,没什么好说的,大家按照信息配置即可,这些可以在官方后台就能查看,需要确定的是,请把Bucket设置为可读可写,当然了,如果您感觉有风险,可以上传完毕后再修改为可读即可。

如果您选择的是阿里云,可能会存在最后的下载链接在打开的时候,是下载而不是查看,这是阿里云设置的问题,您需要设置静态的网站,或者直接下载,然后打开下载后的页面进行安装也是可以的,腾讯云是没有这个问题的。
选择内部测试品类
内部测试品类指的是,使用AppGallery Connect申请的内部测试Profile文件,如果您想实现内部测试包的下载安装,这个是必须的,如果您还未申请,请按照官方提示进行申请,这个申请,很简单,和您正式应用申请的流程一模一样。
一键更新
一键更新,从构建打包,到上传资源包,一气呵成,无须再分步骤实现,极大提高出包效率!后续,只关注这个功能即可!
查看更新包
在这里,可以查看历史更新的包,可以对其复制链接,或者查看二维码,可以直接把链接或二维码发送给测试人员,供其下载使用。

插件使用前提
插件,您可以实现单一的功能实现,比如清除缓存,构建打包,sha256生成等,是不需要任何配置的,但是如果您要实现最终的内部测试包下载安装,有四个前提是必须要做的。
第一、内部测试Profile文件申请
内部测试Profile和正式的申请流程是一样的,这里也简单的概述一下,大概有三个步骤。
1、登录 AppGallery Connect ,选择"证书、APP ID和Profile"。

2、在左侧导航栏选择"证书、APP ID和Profile > Profile",进入"Profile"页面,点击右上角"添加"。

3、这里选择内部测试,其他的信息和你之前申请发布类型一样。

参数介绍:
参数 | 说明 |
---|---|
应用名称 | 选择需要申请内部测试Profile的应用名称。如尚未新建应用,请先前往"APP ID"菜单创建应用。 |
包名 | 选择应用名称后自动填充。 |
Profile名称 | 不超过100个字符。 |
类型 | 选择"内部测试"。 |
选择证书 | 点击"选择",选择一个发布证书。 |
选择设备 | 点击"选择",选择一个或多个测试设备。最多可选择100个设备,已删除的设备无法选择。 |
第二、应用签名配置流程
正式签名是如何配置的,那么内部测试仿照即可。
首先配置内部测试签名信息,仿照正式签名信息复制一份即可,名字自定义,需要注意,profile字段,设置成你创建的内部测试Profile,其他信息和正式签名保持一致。
json
"signingConfigs": [
//......其他签名信息
{
"name": "internalTesting",
"type": "HarmonyOS",
"material": {
"storeFile": "你的秘钥.p12文件",
"storePassword": "你的秘钥密码",
"keyAlias": "你的别名",
"keyPassword": "你的别名密码",
"signAlg": "SHA256withECDSA",
"profile": "你的内部测试Profile文件也就是.p7b文件",
"certpath": "你的发布证书.cer文件"
}
}
]
配置品类信息,复制其他品类信息,增加内部测试品类信息,名字自定义,signingConfig选择内部测试签名信息。
json
"products": [
//......其他品类
{
"name": "internalTesting",
"signingConfig": "internalTesting",
"compatibleSdkVersion": "5.0.0(12)",
"targetSdkVersion": "5.0.0(12)",
"runtimeOS": "HarmonyOS",
"buildOption": {
"strictMode": {
"useNormalizedOHMUrl": true
}
}
}
]
配置modules信息,记住,modules下,你有几个模块,就要配置几个模块,并且每个模块下的applyToProducts配置要保持一致, 并把内部测试品类信息配置上。
json
"modules": [
{
"name": "entry",
"srcPath": "./entry",
"targets": [
{
"name": "default",
"applyToProducts": [
"default",
"internalTesting"
]
}
]
}
]
以上信息配置完成之后,就可以在插件中,选择你的内部测试品类进行打包了,只需要选择一次即可,后续会自动保存选择的记录。

第三、密钥信息配置
因为团队内部测试需要秘钥文件信息进行做签名,所以秘钥信息是必须要配置的,在配置时,请配置原始的密码和别名密码,请不要使用加密的密码,如下配置

第四、配置上传方式
目前只支持两种,一个是腾讯云,一个是阿里云,大家按照要求进行配置即可,如果你不知道这些配置信息,可以咨询您的服务端人员,后续会根据需要再去拓展其它的服务器,或者可以自定义内部的上传方式,又或者是本地服务器的方式。
相关总结
目前所有的信息配置是按照项目进行配置的,一个项目只需配置一次即可,后续只需关注一键更新和查看更新包两个功能即可,还有一点,所有的配置数据均存在您的电脑本地,不会进行上传远程,请放心使用!
一键更新之后,您就可以通过全部功能区域,或者点击查看更新包,把链接或者二维码发送给别人进行测试验证了。

手机端的展示效果如下,会展示您的应用图标,应用名字,和更新的一些信息,点击下载安装就可以进行安装到手机上了。

虽然文章内部比较多,但是信息配置还是非常简单的,只需要配置一次就行了,好了,大家有使用上的问题,都可以进行留言哦~