s***@163.com
s***@163.com
  • 发布:2016-07-10 17:26
  • 更新:2018-09-28 17:00
  • 阅读:7702

APP更新 安卓篇 -1.0.0 2016-07-10

分类:HBuilder

此操作花去小的2小时时间,碰到不少问题,特此记录,主要是为了方便自己回查问题。作为程序员大家都知道,简单的问题也有忘记的时候,即使我们程序员的大脑存量比较大。(结合Hbuilder文档看)
直接进入主题,如何使用HBuilder操作APP升级?
首先看文档:http://ask.dcloud.net.cn/docs/#http://ask.dcloud.net.cn/article/431
Hbuilder提供了三钟方式进行版本更新,分别是全量apk更新、全量wgt更新和差量wgtu更新。
全量apk更新,不多费口舌,这个是现在很多入门级别程序员必会的工作。实施方案在hbuilder提供的文档里边也说得很详细了。
全量wgt更新,是Hbuilder自己提供的一种便捷、轻量的更新方式。操作模式跟apk更新类似,特点是文件小、用户体验好。Hbuilder有提供生成wgt文件的工具操作。位置在:发行--->制作移动app资源升级包。
差量wgtu更新,相对全量而言也就是都项目中被修改、删除的部分进行局部更新,避免全量更新带来的用户体验差的问题,当然对降低流量损耗也是有很大的帮助。但是对程序原来说,需要手动生成差量包,这样就是产生很多未曾碰到的问题,以下主要记录我在操作中碰到的问题和解决方式。
以上更新模式,具体根据项目运维过程中各自的特点而定。
一、文档中提到的注意的内容,拷贝过来加强一下记忆:

  1. wgtu包中的update.xml文件名称必须全部小写,并且和www在同一级目录中
  2. wgtu包中www目录下必须包含manifest.json文件,并且里面不能包含注释(HBuilder中默认带注释,需要手动删除所有注释)
  3. update.xml中的appid值是应用的AppID(如“H5F6AE111”),不是程序的包名(如“io.dcloud.H5F6AE1111”)
  4. wgtu包必须是使用zip格式压缩的文件(不能使用如rar等其它压缩格式)

    针对以上的问题,主要讲一下第3点,中间AppID的值,直接使用manifest.json中所定义appid的值即可,保证不会错误。


    然后是第4点,大家一定要注意,本人开始的时候就没有注意这一条,操作过程中忘记使用ZIP格式压缩,浪费了时间。

二、update.xml内容:
1.<wgtu appid="mui_template_login" > 上面有说到,appid的值的问题。
2.<basis version="1.0.0" /> 这个版本号:1.0.0指的是旧版本的版本号,不是新版本号,一定记住。
3.需要删除的文件,path一定要指定正确。
<remove>
<item path="reg.html" />
</remove>
三、打包:
这里要说明一个,切忌生成一个文件夹,然后将www文件夹和update.xml放里边打包,这样是错误的。应该是直接将www文件夹和update.xml打包,打包后的文件随便命名。同时确保www文件夹和update.xml文件处在同级位置上。这里边www文件夹名称不能修改,就叫www。改了就会报IO错误。
manifest.json文件中,版本号必须要变更比旧版本号大,如果相同,更新后系统会提示“版本号不一致”。但是没有测试过版本号比就版本号小的情况。
四、更新测试
以上问题全部解决后,仍然无法更新成功,或报:IO错误等。可以将update.xml文件里的内容精简到最低极限,如下:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<wgtu appid="mui_template_login" >
<basis version="1.0.0" />
</wgtu>
更新包www里边也只放manifest.json文件。待测试更新成功后再一步一步往www文件夹以及update.xml里边添加内容。
如果报“找不到update.xml”文件,则请确认是否是直接将www文件夹以及update.xml文件打包,或者update.xml文件所处位置和www文件夹是 同级的。

五、用户体验优化
Hbuilder给的例子是简单的例子,里边没有确认框、进度条、网络状况提示,所以都需要自己将体验做好。

7 关注 分享
BoredApe lhyh 小新的狗叫小白 4***@qq.com kika diken 启程588

要回复文章请先登录注册

1***@qq.com

1***@qq.com

请问android打成apk包后安装,安装完后android/data/io.dcloud.mui/apps下为空文件夹,没有www文件夹,做了个路径弹出现实资源在我的页面在/android_asset/apps/mui/www/index.html ,这样如何进行增量更新?PS:真机调试时,android/data/io.dcloud.mui/apps下是有www文件夹和html、js等资源的
2018-09-28 17:00
启程588

启程588

学习了,谢谢
2018-01-08 20:27
kika

kika

mark
2017-05-16 15:28