Helen
Helen
  • 发布:2015-12-03 10:15
  • 更新:2019-02-26 09:02
  • 阅读:5372

andirod采用wgt文件更新 安装更新文件失败[10]

分类:HTML5+
console.log(data.Data);  
downWgt(data.Data);     
// 下载wgt文件  
    function downWgt(lastversion) {  
        console.log("开始下载升级文件");  
        plus.downloader.createDownload('http://app.souxuexiao.com/Version.aspx?_action=DownLoad', {  
            filename: "_doc/update/"  
        }, function(d, status) {  
            if (status == 200) {  
                console.log("更新文件下载成功");  
                console.log('_doc/update/'+lastversion);  
                installWgt('_doc/update/'+lastversion); // 安装wgt包  
            } else {  
                console.log("下载更新文件失败");  
            }  
        }).start();  
    }  
    // 更新应用资源  
    function installWgt(path) {  
        console.log("准备安装文件");  
        console.log("文件路径:"+path);  
        plus.runtime.install(path, {force: true}, function() {  
            plus.nativeUI.closeWaiting();  
            console.log("安装更新成功!");  
            plus.runtime.restart();  
        }, function(e) {  
            plus.nativeUI.closeWaiting();  
            console.log("安装更新文件失败[" + e.code + "]:" + e.message);  
        });  

    }

一下是console信息
当前应用版本:1.0.1 at index.html:234
检测更新成功:{"Code":0,"Message":"查询最新版本成功","Data":"1.0.2.wgt"} at index.html:170
准备下载升级文件 at index.html:176
1.0.2.wgt at index.html:180
开始下载升级文件 at index.html:199
更新文件下载成功 at index.html:204
_doc/update/1.0.2.wgt at index.html:205
准备安装文件 at index.html:214
文件路径:_doc/update/1.0.2.wgt at index.html:215
安装更新文件失败[10]:/storage/emulated/0/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/doc/update/1.0.2.wgt: open failed: ENOENT (No such file or directory) at index.html:222

说明几点:
1、.json配置文件已经去掉了所有注释信息
2、Hbuilder 点击发行=>制作移动APP资源升级包 制作出来的升级文件
3、http://app.souxuexiao.com/Version.aspx?_action=DownLoad 这个URL 是wgt文件的下载路径

2015-12-03 10:15 1 条评论 负责人:无 分享
已邀请:
chender

chender - 与人为善

楼上的又是另外一个问题了,和楼主的情况不一样;
你这里找不到文件是因为因为.install方法是异步的;
你下面有有删除改文件的方法,所以在真正安装之前,文件已经被你删掉了;
在install的回调里面去做删除操作吧

Helen

Helen (作者)

为什么没有人来呢 自己顶一下

Helen

Helen (作者)

求关注。。。着急哦

开心的小雨

开心的小雨

我也很想知道,安卓一直不行!

你不知道

你不知道

这问题解决了否

chender

chender - 与人为善

你下载的时候没有指定文件的名称(只指定了目录),所以文件被下到本地后名称是随机生成的(_doc/update/xxxxx.wgt而不是_doc/update/+lastversion);
两种解决方案:
1、plus.downloader.createDownload('http://app.souxuexiao.com/Version.aspx?_action=DownLoad', {
filename: "_doc/update/"+lastversion
}

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

  • 你不知道

    貌似不是文件名的问题啊 请看下面

    2015-12-25 09:56

你不知道

你不知道

文件是有的啊 但是貌似是plus.runtime.install找不到文件而plus.io.resolveLocalFileSystemURL能找到
_doc/update/ooxxxoo.wgt
/storage/emulated/0/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/doc/update/ooxxxoo.wgt: open failed: ENOENT (No such file or directory)

你不知道

你不知道

还真是异步的问题 我之前也考虑过 但是ios上又没问题
看来在ios上的执行效率是要高些

1***@qq.com

1***@qq.com

http: //app.souxuexiao.com/Version.aspx ? _action = DownLoad这个URL是wgt文件的下载路径

这个是怎么实现的

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