aardio程序在线升级简易demo

前置条件

需要一个能存放升级包的地方,且能通过网络访问到你所存放的文件

本文用的自己搭建的 gitea,版本信息文件 version.txt 的固定链接为:

https://begin2019.com:3000/OTAHub/SimpleNotes-aar/raw/branch/main/.update-files/version.txt

程序主体关键代码

假设新版本的的版本信息(version.txt,后面会讲到它是从哪来的)在这:https://begin2019.com:3000/OTAHub/SimpleNotes-aar/raw/branch/main/.update-files/version.txt

import fsys.update.simpleMain;
if( fsys.update.simpleMain(
	"SimpleNotes-aar",
	"https://begin2019.com:3000/OTAHub/SimpleNotes-aar/raw/branch/main/.update-files/version.txt", /*网址也可以改用目录名,并使用服务端代码动态返回version.txt*/
	"/download/update-files", /*绿色软件建议改为 io.appData("/软件厂商名/软件名字/update-files") */
	function(version,description,status){
		/*
		version参数包含最新版本号,
		description包含最新版本更新说明,
			status参数值见下面的列表:
			"ready": 下载已完成并准备更新,
			"updated": 已更新到新版本并准备启动新版
			"complete": 当前已更新并已启动新版本主程序,所有操作已完成
			"latest": 已经是最新版不需要更新
			"failed": 出错了,description参数为错误信息
		
		这个回调函数不是必须的,
		在此检测更新代码之前或之后都可以在界面线程调用
		fsys.update.simpleMain.onStatusChanged 订阅更新状态变更信息。
		该认阅回调函数的参数与上面的回调参数相同。
		*/
		winform.msgbox(version);
		winform.msgbox(description);
		winform.msgbox(status);
	} )){
	return 0; //必须退出 main.aardio 以启动更新
}
upgrade = function(){
    fsys.update.simpleMain.checkUpdate(true);
}

制作升级包

  1. 点击【发布】

    20231211232218541-image

  2. 点击【制作升级包】

    20231211232252685-image

  3. 填写升级包的信息,重点在【升级包下载网址(根目录)】
  4. 点击【生成升级包】

    20231211232452420-image

  5. 最后,将生成的 .update-files 里的所有文件上传到服务器指定路径中

    20231211232626593-image

    由于我将 gitea 作为存放升级包的地方,所以路径是 https://begin2019.com:3000/OTAHub/SimpleNotes-aar/raw/branch/main/.update-files

以上,升级包就制作完成了,当运行的程序版本号低于 version.txt 中的版本号时,将会自动下载新版本,下载完成后默认需手动重启程序以完成更新。

启动demo,点击右上角升级按钮开始更新,弹窗提示升级包下载完成后,手动重启该程序则完成更新:

20231211233541685-image

© 版权声明
THE END
喜欢就支持一下吧
点赞14赞赏 分享
评论 共2条
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片
    • 头像Harrison29280