HBuilder实现软件自动升级(优化篇)
前言
受前篇博客《HTML5进阶(二)HBuilder实现软件自动升级》(点击查看详情)的影响,测试过程中发现APP自动更新还是存在问题,第一次升级没有任何问题。第二次升级时,若wrt升级包的名字相同,则会出现以下错误提示:
估计是HBuilder的BUG导致出现以上错误。受社区中盆友们思路的启发,在每次更新时提交不同文件名的wrt更新包,方可解决以上问题。
同时在上篇博客中提到“检测更新更好的模式应该是客户端提交本地应用资源版本号到升级服务器,由升级服务器判断是否可更新并且返回App升级资源包下载地址,避免在客户端写资源下载地址;”。由此,自己由本地检测版本更新变更为将本地app版本提交至升级服务端,由服务端判断app是否可更新,若存在更新版本则返回相应的新版本号及版本下载地址。
注
在提交新版本时,应注意版本号的一致性,即wrt版本号、版本号文件version.txt中的版本号相一致。
客户端源码(拿走不谢)
var wgtVer = null;function plusReady(){
// 获取本地应用资源版本号plus.runtime.getProperty(plus.runtime.appid,function(inf){wgtVer = inf.version;localStorage.setItem('newVer', wgtVer);console.log(localStorage.getItem('newVer'));console.log("当前应用版本:" + wgtVer);/*alert( "国际移动设备身份码IMEI: " + plus.device.imei );alert( "国际移动用户识别码IMSI: " + plus.device.imsi );alert( "设备唯一标识号uuid: