失落的人形天使
失落的人形天使
  • 发布:2015-07-01 15:40
  • 更新:2015-07-08 09:29
  • 阅读:2754

wgt升级提示安装wgt文件失败[3]:解压失败

分类:5+ SDK

wgt升级提示安装wgt文件失败[3]:解压失败但是用这个http://demo.dcloud.net.cn/test/update/H5EF3C469.wgt链接就成功了 用我自己的http:/clb.quickpark.com.cn/DACITSF001.0/app/qpxxx_2.wgt就报解压失败

2015-07-01 15:40 负责人:无 分享
已邀请:
失落的人形天使

失落的人形天使 (作者)

没有人碰到过这些问题吗

Android_磊子

Android_磊子

你是如何测试的,先使用downloader下载?在install?
我不能下载你的wgt更新包。

  • 失落的人形天使 (作者)

    我已经私信你了,如果需要更详细的信息可以QQ我454679718

    2015-07-01 20:46

  • samwang

    // 检测更新

    var checkUrl = wjl.site + "Model=Mobile&Action=get_mobile_version";


    function checkUpdate(check) {

    var currVer;

    plus.runtime.getProperty(plus.runtime.appid, function(inf) {

    currVer = inf.version;

    console.log("当前应用版本:" + currVer);

    });

    if (check) {

    plus.nativeUI.showWaiting("检测更新...");

    }


        var xhr = new plus.net.XMLHttpRequest();  
    xhr.onreadystatechange = function() {
    switch (xhr.readyState) {
    case 4:
    if (xhr.status == 200) {
    if (check) {
    plus.nativeUI.closeWaiting();
    }
    console.log("检测更新成功:" + xhr.responseText);
    var data = JSON.parse(xhr.responseText);
    var inf = data[plus.os.name];

    var newVer = inf.version;
    var wgtUrl = inf.url;
    console.log("new version " + newVer + " current version " + currVer + " wgt url " + wgtUrl);
    if (compareVersion(currVer, newVer)) {
    downWgt(wgtUrl,check); // 下载升级包
    } else {
    if (check) {
    plus.nativeUI.toast("已经是最新版本");
    }
    }
    } else if (xhr.status === 0) {
    console.log("cross domain. ignore it");

    } else {
    if (check) {
    plus.nativeUI.closeWaiting();
    plus.nativeUI.toast("检测更新失败!");
    }
    }
    break;
    default:
    break;
    }
    }
    xhr.ontimeout = function() {
    if (check) {
    plus.nativeUI.closeWaiting();
    plus.nativeUI.toast("检测更新失败!");
    }
    };
    xhr.timeout = 3 * 1000;
    xhr.open('GET', checkUrl);
    xhr.send();
    }
    // 下载wgt文件

    /**



    • 比较版本大小,如果新版本nv大于旧版本ov则返回true,否则返回false

    • @param {String} ov

    • @param {String} nv

    • @return {Boolean}

      */

      function compareVersion(ov, nv) {

      if (!ov || !nv || ov == "" || nv == "") {

      return false;

      }

      var b = false,

      ova = ov.split(".", 4),

      nva = nv.split(".", 4);

      for (var i = 0; i < ova.length && i < nva.length; i++) {

      var so = ova[i],

      no = parseInt(so),

      sn = nva[i],

      nn = parseInt(sn);

      if (nn > no || sn.length > so.length) {

      return true;

      } else if (nn < no) {

      return false;

      }

      }

      if (nva.length > ova.length && 0 == nv.indexOf(ov)) {

      return true;

      }

      }


    function downWgt(wgtUrl,check) {

    plus.nativeUI.showWaiting("下载升级包...");

    plus.downloader.createDownload(wgtUrl, {

    filename: "_doc/update/"

    }, function(d, status) {

    if (status == 200) {

    console.log("下载升级包成功:" + d.filename);

    installWgt(d.filename); // 安装wgt包

    } else {

    console.log("下载升级包失败!");

    }

    plus.nativeUI.closeWaiting();

    }).start();

    }

    // 更新应用资源


    function installWgt(path) {

    plus.nativeUI.showWaiting("安装升级包...");

    plus.runtime.install(path, {}, function() {

    plus.nativeUI.closeWaiting();

    console.log("安装升级包成功!");

    plus.nativeUI.toast("更新完成!", function() {

    plus.runtime.restart();

    });

    }, function(e) {

    plus.nativeUI.closeWaiting();

    console.log("更新失败[" + e.code + "]:" + e.message);

    });

    }


    差量升级的方式,和网站上一样的。请磊子测试下。

    2015-07-11 22:46

失落的人形天使

失落的人形天使 (作者)

我用安卓测试.wgt升级, 调用plus.runtime.install安装的时候爆出的错误{"code":10,message:"Not a zip archive"}

失落的人形天使

失落的人形天使 (作者)

用ios测试 调用plus.runtime.install安装的时候则错误为{"code":3,message:"解压失败"}

失落的人形天使

失落的人形天使 (作者)

DCloud官方的人呢,求个人帮忙解决下啊

  • Android_磊子

    是不是一个zip格式压缩包呢?

    2015-07-07 18:49

samwang

samwang

这个是有时候成功,有时候失败。
IOS报 解压失败的错误
android是 Not a zip archive

_AJian_

_AJian_

请贴代码

wangda_cn

wangda_cn

我也遇到过这个问题,不知道如何解决,后来我就不采用这种升级方式,采用直接下载新包的方式来升级了。

枫桥居APP

枫桥居APP

直接更新,更完全

朋也

朋也 - https://tomoya92.github.io

H5EF3C469 这个名字应该是你应用的唯一id把,在manifast.json里的那个id
你的wgt包名字保持跟这个一致在试试

  • samwang

    一直是一致的

    2015-07-11 22:43

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