因为项目需要用到更新这一块的东西,所以就查了下cordova 的热更新,然后遇到了 一些问题,记录下来备忘。
项目用的是ionic 下载cordova的内容就直接跳过了。
首先是下载cordova的插件:
npm install -g cordova-hot-code-push-cli(用来动态生成chcp.json和chcp.manifest两个文件) cordova plugin add cordova-hot-code-push-plugin (插件)
cordova plugin add cordova-hot-code-push-local-dev-addon(ps:这个插件装不装其实也没有影响,因为我们不是要求实时更新界面的,而且在正式发布App的时候必须得移除这个插件)
配置:config.xml
1.url的路径是我放在tomcat的本地服务器 ,测试下这个路径是否可以连通。然后执行终端 里的 ionic build ios 遇到的问题 是不执行build staging中的文件不会编译
2.命令进入自己项目根目录,运行cordova-hcp build,这个运行后,它会自动去改chcp.json下的release值,和chcp.manifest下的改过的文件的hash值.
这个命令在项目根目录下的www目录中生成chcp.json和chcp.manifest两个文件。Chcp.json包含了项目的版本信息,是否立即更新,服务器的更新地址。Chcp.manifest包含了www目录下的文件和对应的hash码值。为了chcp.json文件生成的方便,我们需要在项目的根目录下新建一个文件cordova-hcp.json,内容为:
{ "content_url": "http://localhost:8080/www", "autogenerated": true, "update": "now", "release": "2017.01.04-14.30.44" }
直接把根目录下的www目录拷贝到服务器中,注意地址不要写错。然后启动我们的app,第一次启动的时候检查更新并下载更新,第二次启动的时候就会使用更新的版本。
厚积薄发,笨鸟先飞。