GogoCao
GogoCao
  • 发布:2015-10-15 10:46
  • 更新:2015-10-15 11:53
  • 阅读:2218

【报Bug】程序重新安装后,无法更新HTML文件,导致页面还是上一个版本的文件

分类:5+ SDK

问题描述

发现在 Android Studio 里面,把 native 结合的代码打包,我修改了html + js 代码,重新发布到 android 中,在一定时间内(没具体测过),好像html + js 都无法更新的。

我只有卸载应用,再次上传才可以。

因为我这种开发调试,也算是重新安装了。如果我们正常发布应用,也 是无法更新解压后的文件,意味着升级可能是个无法正确升级的版本。还是保留之前的文件。

当然,如果有版本控制的话,可能还一样

这个是我的尝试,可能很笨。但是值得一看。

问题等级

严重

尝试解决 1

修改项目的manifest.json文件,修改里面的version.code值,尝试更新一个简单的文件,是否同步

测试失败,开发打包之后,并没有更新

尝试解决 2

修改项目的manifest.json文件,修改里面的version.name & version.code值,尝试更新一个简单的文件,是否同步

测试失败,开发打包之后,并没有更新

尝试解决 3

修改项目的AndroidManifest.xml文件, 修改 versionCode ,并没有更新HTML文档

我现在开发临时用一个脚本同步

https://github.com/google/adb-sync

HBuilder确实很好的解决了,大部分的页面更新》但是Android本身打包系统没有能够更新的话,我觉得问题比较严重。。要么就是我弄错了。

刚才确认了一下,就算重新打包(release)也是一样的,不会更新html文件。

我就是基本的设置,外加 debug=true。感觉这个应该没啥影响

我的环境

小米平板,Android:4.4.4 KTU84P,MUI版本:6.7.3
它解压之后的目录:/storage/emulated/legacy/Android/data/***/apps/**/www

Android Studio 1.4
Mac OS X 10.10.6

2015-10-15 10:46 负责人:无 分享
已邀请:
GogoCao

GogoCao (作者)

经过跟工作人员的请教:

这个不是BUG,只是一个机制问题:

原因就是因为开启了 debug 模式,在control.xml中debug=true,这种模式下。

> debug模式就是之前说过的两个地方配置的
> debug模式下是会优先使用sdcard上的资源的,就是为了与HBuilder工具同步更新,而不会被apk升级的资源覆盖

DCloud_App_Array

DCloud_App_Array

问题原因
5+ Runtime有两种运行模式来处理应用的资源:

  1. 不解压直接运行 - 使用使用ipa/apk安装包中的应用资源,缺陷是在Android平台无法通过plus.io访问应用资源,并且在Android4.0/4.1设备上无法通过url的?后传递参数。
  2. 解压资源后运行 - 在首次运行时会将应用资源释放到sd卡上运行,可解决Android平台上不解压直接运行的缺陷。
    解压资源后运行的模式也引发了应用资源更新的问题,如很多开发者发现应用apk/ipa覆盖安装后应用资源没有更新,者其实是因为应用设置为“debug模式”导致的。

解决方法
HBuilder中打开manfiest.json文件,在可视化界面中去掉“debug模式(android是否支持日志输出机chrome调试)”项即可。
或者将应用的“应用资源是否解压”设置为“不解压直接运行”。

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