uniapp热更新和整包更新
我们在写项目中,每次整包更新会比较麻烦,所以出现了热更新热更新不支持情况1.SDK部分有调整,比如新增了Maps模块等,不可通过此方式升级,必须通过整包的方式升级。2.原生插件的增改,同样不能使用此方式,老的非自定义组件编译模式,如果之前工程没有nvue文件,但更新中新增了nvue文件,不能使用此方式看代码//res.data是后台给你的判断是否需要更新的返回值//热更新if (res.data.
·
我们在写项目中,每次整包更新会比较麻烦,所以出现了热更新
uniapp热更新包制作-----》发行------》原生APP,制作应用wgt包
热更新不支持情况
1.SDK部分有调整,比如新增了Maps模块等,不可通过此方式升级,必须通过整包的方式升级。
2.原生插件的增改,同样不能使用此方式,老的非自定义组件编译模式,如果之前工程没有nvue文件,但更新中新增了nvue文件,不能使用此方式
看代码
//res.data是后台给你的判断是否需要更新的返回值
//热更新
if (res.data.versionName == 'HOT_UPDATE') {
//下载wgt包
uni.downloadFile({
url: res.data.downloadUrl,
success: downloadResult => {
//安装wgt包
plus.runtime.install(
downloadResult.tempFilePath,
{
force: true
},
() => {
// 应用热重启,重新启动进入首页。
plus.runtime.restart();
});
}
});
} else {
//整包更新
//因为在部分安卓手机plus.runtime.openURL(url) 无效也不报错,所以需要传 浏览器包名 'com.android.browser',如果找不到指定浏览器包名就会进入失败,再次进入跳转,所以会有两层逻辑
plus.runtime.openURL(res.data.downloadUrl,err => {
plus.runtime.openURL(res.data.downloadUrl, err => {
console.log(err);
});
},'com.android.browser'); //打开更新地址
}
更多推荐
已为社区贡献15条内容
所有评论(0)