前置条件
需要一个能存放升级包的地方,且能通过网络访问到你所存放的文件
本文用的自己搭建的 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);
}
制作升级包
- 点击【发布】
- 点击【制作升级包】
- 填写升级包的信息,重点在【升级包下载网址(根目录)】
- 点击【生成升级包】
- 最后,将生成的 .update-files 里的所有文件上传到服务器指定路径中
由于我将 gitea 作为存放升级包的地方,所以路径是 https://begin2019.com:3000/OTAHub/SimpleNotes-aar/raw/branch/main/.update-files
以上,升级包就制作完成了,当运行的程序版本号低于 version.txt 中的版本号时,将会自动下载新版本,下载完成后默认需手动重启程序以完成更新。
启动demo,点击右上角升级按钮开始更新,弹窗提示升级包下载完成后,手动重启该程序则完成更新:
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容