uniapp热更新问题
注意:
- 保持打包好的apk包和wgt包的打包环境一致,也就是注意HBuilder的版本问题,如果进来就弹窗黑色窗口提示SDK版本问题,多半就是两个包之间的打包环境存在问题,这样你就必须做大版本升级来保证打包环境的一致性
- 每次打包前 应用版本名称 和 应用版本号 都必须 +1
- 做好判断,不要重复更新wgt包
下面是简单的代码示例,如有需要请根据具体情况做好条件判断:
//热更新
plus.runtime.getProperty(plus.runtime.appid,function(widgetInfo){
console.log(widgetInfo);
let versionNum = widgetInfo.version;
let version = '1.0.53';
if(versionNum != version){
uni.downloadFile({
url:'https://files.bailb.com/public/system/file/update.wgt',
success:(res)=>{
console.log(res);
if(res.statusCode == 200 ){
plus.runtime.install(res.tempFilePath,{
force:true
},function( ){
uni.showModal({
title:'公告',
content:'升级完成,请点击确定对App进行重启!',
showCancel: false,
confirmText: '确定',
success: () => {
plus.runtime.restart();
}
});
},function(e){
uni.showModal({
title:'错误提示',
content:JSON.stringify(e),
showCancel: '取消',
confirmText: '确定'
});
});
}else{
uni.showModal({
title:'错误提示',
content:'下载资源包失败',
showCancel: '取消',
confirmText: '确定'
});
}
}
});
}
});