一:综述:
1.uni-app打包成apk或wgt文件,使用plus.runtime.getProperty方法获取本地应用资源版本号。
2.调用后端接口,拿到与后端规定好的版本号,与前面获取的版本号进行对比,如果不一致(也可以判断当前版本号是否小于线上版本号,也就是最新版本号),进行下一步操作。
3.uni.showModal或其他弹出框弹出下载提示。
4.使用plus.downloader.createDownload下载安装包。下载完可以使用plus.runtime.openFile(path),打开文件安装。
5.另一种方法是去浏览器下载,使用plus.runtime.openURL(url); 打开一个网址去下载。
6.推荐的方法是使用wgt热更新,这样就不用每次更改都需要对ios包进行加签。这种方法着重记一下。
以上方法详情详见:plus文档地址
二:整包更新
1.HbuilderX打包及其步骤
HbuilderX App选择发行=>原生App-云打包
HbuilderX App云打包,证书可以由公司安卓开发人员提供,打安卓包也可以使用公共测试证书进行测试。打包完成会返回一个下载地址,在浏览器下载即可。将下载后的安卓包上传到公司的服务器下载地址。
前端关键代码
前端关键代码(APP.vue)创建下载资源的下载任务并弹出相应提示信息的弹窗,这里使用plus的api进行操作。
// #ifdef APP-PLUS
const dtask = plus.downloader.createDownload(this.$store.state.url,{force : true},function(d,status){
// 下载完成
if(status == 200){
var path = (d.filename);//文件安装路径
plus.runtime.install(path,{},function(){
plus.nativeUI.closeWaiting();//关闭系统等待对话框
if(name == 'wgt'){
console.log("安装wgt文件成功!");
}else{
console.log("安装apk