1***@qq.com
1***@qq.com
  • 发布:2019-09-29 16:30
  • 更新:2019-10-10 16:11
  • 阅读:1020

5+APP升级问题咨询

分类:MUI
mui

APP进行整包升级时,从服务器下载新包。当进行整包替换更新时,就会出现安装的依然是原包的情况,这种情况如何解决?
不管是使用plus的install还是跳转浏览器下载的包,更新时都是安装的原包情况:

/* 更新方式一: 采用跳转浏览器,使用浏览器进行下载 */  
                                if (data.done) {  
                                    var btnArray = ['取消', '立即更新'];  
                                    mui.confirm(data.describe, 'Hello Moia', btnArray, function(e) {  
                                        if (e.index == 1) {  
                                            console.log(server+"rest/RestService"+data.details[0]);  
                                            plus.runtime.openURL(server+"rest/RestService"+data.details[0]);  
                                        } else {  
                                            mui.toast('你取消了更新!');  
                                        }  
                                    });  
                                }
/* 更新方式二: 直接替换当前软件安装 */  
                                // if (data.done) {  
                                //  var btnArray = ['取消', '立即更新'];  
                                //  mui.confirm(data.describe, 'Hello Moia', btnArray, function(e) {  
                                //      if (e.index == 1) {  
                                //          var dtask = null;  
                                //          var url = server+"rest/RestService"+data.details[0];  
                                //          var option = {method:"GET"};  
                                //          createDownloadTask(dtask, url, option);  
                                //      } else {  
                                //          mui.toast('MOIA 已是最新版本~');  
                                //      }  
                                //  });  
                                // }
2019-09-29 16:30 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com (作者)

就没人遇到过这个问题吗

1***@qq.com

1***@qq.com (作者)

头痛

hhyang

hhyang - 如有问题,请添加QQ1606726660 备注付费咨询

依然是原包是什么意思?

  • 1***@qq.com (作者)

    就是覆盖安装的时候 它安装的还是上一个APK 不是刚下载下来的APK

    2019-10-08 10:07

  • hhyang

    回复 1***@qq.com: 不可能吧 我没遇到过这样的情况 你的意思就是能覆盖安装 但是内容没变?

    2019-10-08 10:12

g***@sina.com

g***@sina.com

//下载安装包  
function downWgt(apkUrl) {  
    var title = "正在更新,请不要退出...";  
    var wd = plus.nativeUI.showWaiting(title);  
    var options = {  
        method: "GET",  
        filename: "_doc/download/brand.apk"  
    };  
    dtask = plus.downloader.createDownload(apkUrl, options);  
    dtask.addEventListener("statechanged", function(task, status) {  
        if (!dtask) {  
            wd.close();  
            return;  
        }  
        switch (task.state) {  
            case 1: // 开始  
                console.log("开始下载...");  
                break;  
            case 2: // 已连接到服务器  
                console.log("链接到服务器...");  
                break;  
            case 3: // 已接收到数据  
                title = (task.downloadedSize / 1024 / 1024).toFixed(2) + " M /" + (task.totalSize / 1024 / 1024).toFixed(2) +  
                    " M";  
                // console.log("下载数据更新:" + title);  
                wd.setTitle("下载进度:" + title)  
                break;  
            case 4: // 下载完成  
                wd.close();  
                console.log("下载完成!");  
                installWgt(task.filename); // 安装包  
                break;  
            default:  
                break;  
        }  
    });  
    dtask.start();  
}  
// 安装  
function installWgt(path) {  
    plus.nativeUI.showWaiting("安装文件...");  
    console.log(path);  
    plus.runtime.install(path, {}, function() {  
        plus.nativeUI.closeWaiting();  
        console.log("安装文件成功!");  
        plus.nativeUI.alert("应用资源更新完成!", function() {  
            plus.runtime.restart();  
        });  
    }, function(e) {  
        plus.nativeUI.closeWaiting();  
        console.log("安装文件失败[" + e.code + "]:" + e.message);  
        plus.nativeUI.alert("安装文件失败[" + e.code + "]:" + e.message);  
    });  
}

详细请看: https://github.com/gs-wenbing/mui-mall/blob/master/indxe.js

DCloud_App_Array

DCloud_App_Array

确定下载的apk包正确?并且安装成功?

  • g***@sina.com

    可以呀,都已经使用了一年多了,都是通过这种方式更新的

    2019-10-11 13:34

  • 1***@qq.com (作者)

    已解决。谢谢~

    2019-10-14 14:42

该问题目前已经被锁定, 无法添加新回复