双人舞
双人舞
  • 发布:2015-06-06 17:58
  • 更新:2018-06-11 18:13
  • 阅读:5888

说说App资源在线升级更新的坑

分类:HTML5+

第一个坑,APP的更新版本是通过以下函数获取的

plus.runtime.getProperty(plus.runtime.appid, function(inf) {  
    alert(inf.version);  
}

第二个坑,如下filename: "_doc/update/",务必不要更改这个filename,否则会提示安装成功,但是版本号一直没有变,其实就是install找不到这个文件就无法更新了

plus.downloader.createDownload(data.wgt_url, {  
    filename: "_doc/update/"  
}, function(d, status) {  
    if (status == 200) {  
        alert("下载wgt成功:" + d.filename);  
        install_app(d.filename); // 安装wgt包  
    } else {  
        console.log("下载wgt失败!");  
    }  
}).start();

第三个坑,如下,注意{force: true},务必写上这个参数

plus.runtime.install(file_name, {force: true}, function() {  
    console.log("安装wgt文件成功!");  
    plus.nativeUI.alert("更新完成!", function() {  
        plus.runtime.restart();  
    });  
}, function(e) {  
    console.log("安装wgt文件失败[" + e.code + "]:" + e.message);  
});

上面3个坑基本是做在线更新的时候遇到的问题,卡了好久,官方加个精吧

2015-06-06 17:58 1 条评论 负责人:无 分享
已邀请:
stock2

stock2

这个是哪个版本的?5.8.2好像是用系统浏览器打开更新的。这个带进度条?还是增量更新?

  • 双人舞 (作者)

    APP内更新


    2015-06-06 20:45

sscjane

sscjane

这位大侠,我给你加个精如何。。。我被这个东西坑的几乎想放弃hbuilder。。。唉。。深有同感。。。加精加精

sscjane

sscjane

另外,自动更新 有没有考虑过直接上native.js,有方案没

wenju

wenju - https://www.mescroll.com -- 精致的下拉刷新和上拉加载组件

第二个 filename: "_doc/update/" 和第三个force: true 都不用写 用得挺好 没有出现过什么问题

  • 望月孤魂

    那你增量更新调用plus.runtime.restart()重启后,html/js/css是最新的吗?为什么我的还是旧版本的,只有手动重启应用才行?


    2015-10-21 16:13

  • wenju

    我用的是全量更新~


    2015-10-22 09:08

老范被盗

老范被盗

一直提示not a zip archive,有没有遇过?也是醉了~~~~

望月孤魂

望月孤魂

为什么我的更新都正常,但是html/js/css还是之前版本的?
已确认更新完成后调用了plus.runtime.restart()方法了。

  • SkyGrass

    我也是这个情况。有解决方法么?


    2016-03-01 08:58

  • zzk

    plus.runtime.restart()是没用的,我只能提示关闭后重新打开,体验特差


    2016-10-06 13:03

stock2

stock2

我之前用浏览器更新 没啥事
改为下载更新 ,很多事.呵呵.
很多时间浪费在调试上,关键还找不到问题.

Mr_ice

Mr_ice

{force: true}这个属性是干嘛的?

  • wenju

    强制安装


    2016-09-21 11:45

  • Mr_ice

    必须要加么 不加这个会怎样?


    2016-09-21 12:11

吴俊川

吴俊川

楼主你好,我用App资源在线更新的技术,用真机连接Hbuilder真机调试时可以实现在线更新,但是用离线打包的方式的时候就会失败,具体的原因是因为离线打包的HTML5资源是放在asserts目录下的,这个目录下只能读取不能写入,请问你有什么办法解决这个问题吗

喜欢江辰的胡粉

喜欢江辰的胡粉

楼主,您说的那三个情况都是正确的,但是一直显示这样一句话:手机更新安装wgt文件失败【10】:file too short to be a zip file:0 求指导,谢谢

1***@qq.com

1***@qq.com

真心烦 遇到问题在官方群里面问 官方一个都不回答 下次再也不用这垃圾玩意了

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