吴俊川
吴俊川
  • 发布:2016-10-04 17:09
  • 更新:2016-10-08 18:11
  • 阅读:3645

android离线打包后用HBuilder升级机制升级失败

分类:5+ SDK

各位好,我看了 dcloud论坛上的App资源在线升级的文章,感觉用前端的技术开发出来的App在这方面着实强大便捷,也尝试使用了整包升级应用资源升级的方法来对App进行升级

我们用的其中一种方法是整包升级的方法:通过提醒用户并且跳转到Google Play上去更新的办法(因为做的是面向外国市场的App),这方面问题倒是不大
目前遇到的主要问题:我们都知道Android Studio对Hbuilder项目进行离线打包的时候要将HTML5资源放到asserts目录下,但是这个目录打包成apk后,是无法写入的..如果我们用资源的在线升级方法2移动APP资源升级包 就会升级失败..

移动APP资源包升级其实就是将HTML5资源打包成wgt格式,APP下载并且解压这个wgt文件,覆盖掉原来的HTML5资源实现升级,官方的离线打包的教程是将HTML放到asserts目录下的,打包后无法访问到,我想这就是问题的所在

不知道Hbuilder是不是有什么解决方案可以在apk安装后依然可以向asserts文件夹写入文件..还是说在线升级不支持asserts文件夹的资源更新?

/**  
 * 下载wgt更新包  
 * @param {Object} wgtUrl  
 */  
function downWgt(wgtUrl) {  
	console.log("下载Wgt文件....");  
	plus.downloader.createDownload(wgtUrl, {  
		filename: "_doc/update/"  
	}, function(d, status) {  
		if(status == 200) {  
			console.log("下载wgt成功:" + d.filename);  
			installWgt(d.filename); // 安装wgt包  
		} else {  
			console.log("下载wgt失败!");  
		}  
	}).start();  
}  
/**  
 * 安装wgt更新包  
 * @param {Object} path  
 */  
function installWgt(path) {  
	plus.runtime.install(path, {}, function() {  
		console.log("安装wgt文件成功!");  
		plus.runtime.restart();  
	}, function(e) {  
		console.log("安装wgt文件失败[" + e.code + "]:" + e.message);  
	});  
}
2016-10-04 17:09 负责人:无 分享
已邀请:
Android_磊子

Android_磊子

不支持对asserts文件夹的资源更新。

  • 吴俊川 (作者)

    那离线打包的官方Demo,静态HTML资源都是放在asserts文件夹下的,该如何解决


    2016-10-08 18:59

  • 吴俊川 (作者)

    比如在离线打包的时候可不可以将静态资源放在别的目录下,亦或者是放在data目录下,然后从data中读取,从而实现在线更新


    2016-10-08 20:41

  • Android_磊子

    放在什么位置不影响wgt、wgtu更新的。


    2016-10-09 09:22

  • 吴俊川 (作者)

    放什么位置都不影响wgt,wgtu更新然后又不支持对asserts文件夹的资源更新,怎么理解这句话


    2016-10-09 14:23

  • Android_磊子

    你升级过程碰到什么问题吗?


    2016-10-09 17:38

  • 吴俊川 (作者)

    回复 Android_磊子:打开APP触发在线资源更新,下载wgt包,

    代码运行到console.log("安装wgt文件成功!");重启APP是没有效果的

    查了下论坛,也有人遇到类似的情况

    详细参考http://ask.dcloud.net.cn/question/21116

    备注:真机调试是没有问题的,离线打包后使用在线资源更新就会出现这个问题


    2016-10-09 20:22

  • 七号座先生

    升级重启之后,资源文件并没有释放到SD卡/android/data/[apk包名]/apps的目录下面呀。机型是Android8.0,小米mix2


    2018-04-12 16:14

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