鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装

前言

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

插件开发背景

截止到当下,如何让打出的包安装到真机设备中进行测试,目前官方提供的有四种方式,第一种是直接运行安装或者hdc命令安装,这种方式,简单便捷,非常适合于测试人员较少的小团队进行,但是不适合测试人员多的团队,并且不适合异地的场景,测试人员多,意味着设备多,设备多,意味着需要一一运行安装,会耗费大量的时间用于设备安装,将会大大降低研发的开发效率;如果有研发团队在A地办公,而测试团队在B地办公,直接运行安装将更加不便。

除了第一种安装方式之外,官方也提供了AppGallery邀请测试,也就是需要把打出的包,提交至AppGallery后台,流程和正式发布类似,这种方式,解决了测试人员多,设备多以及异地办公等等缺点,它可以让测试团队非常方便的进行测试验证,但是时效性很差,因为虽然是测试版本,但是也必须进行审核,虽然目前官方审核的速度加快了,但是仍然不及时,特别是需要紧急验证的时候,会十分抓狂!

第三种方式就是AppTest邀请测试,但是目前是为受限开放,需要进行申请体验,即便日后全部放开,但最终也必须上架至AppTest客户端,并且仍然需要进行审核,所以和第二种一样,测试验证不及时。

第四种,也就是插件目前在使用的这种,叫做团队内部测试,使用内部测试方式,无需提交应用至华为应用市场,就可以实现下载安装,和Android的Apk安装一样便捷,达到测试验证的及时性。

团队内部测试固然很好,但是流程十分繁琐,需要所有的模块一一打包,并且需要一一获取sha256,最终还需要一一上传并进行签名,才能达到安装的要求,基于此,如何实现简化流程,实现一键打包,便成了我的诉求。

插件下载安装

目前插件已经上传至了Github,大家可以进行下载体验,地址如下:

github.com/AbnerMing88...

插件下载好之后,打开我们的开发工具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"
        ]
      }
    ]
  }
]

以上信息配置完成之后,就可以在插件中,选择你的内部测试品类进行打包了,只需要选择一次即可,后续会自动保存选择的记录。

第三、密钥信息配置

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

第四、配置上传方式

目前只支持两种,一个是腾讯云,一个是阿里云,大家按照要求进行配置即可,如果你不知道这些配置信息,可以咨询您的服务端人员,后续会根据需要再去拓展其它的服务器,或者可以自定义内部的上传方式,又或者是本地服务器的方式。

相关总结

目前所有的信息配置是按照项目进行配置的,一个项目只需配置一次即可,后续只需关注一键更新和查看更新包两个功能即可,还有一点,所有的配置数据均存在您的电脑本地,不会进行上传远程,请放心使用!

一键更新之后,您就可以通过全部功能区域,或者点击查看更新包,把链接或者二维码发送给别人进行测试验证了。

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

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

相关推荐
itgather1 小时前
安卓设备信息查看器 - 源码编译
android
whysqwhw1 小时前
OkHttp之buildSrc模块分析
android
hsx6661 小时前
从源码角度理解Android事件的传递流程
android
MaoJiu1 小时前
Flutter与原生端的通信
flutter·ios
cainiao0806052 小时前
华为HarmonyOS 5.0深度解析:跨设备算力池技术白皮书(2025全场景智慧中枢)
华为·harmonyos
万少2 小时前
04-自然壁纸实战教程-搭建基本工程
前端·harmonyos·客户端
刺客xs3 小时前
MYSQL数据库----DCL语句
android·数据库·mysql
iReaShare3 小时前
如何将数据从一部手机传输到另一部手机?
android
慢行的骑兵3 小时前
Android音视频探索之旅 | C++层使用OpenGL ES实现视频渲染
android·音视频·ndk
iReaShare3 小时前
如何将 iPhone 备份到云端:完整指南
ios