Cordova版本:8.0.0android
更新APP平台:Androidios
操做系统:Windowsgit
Cordova的热更新,做用是把www内的变更部分更新到APP中,实现主程序不动,完成更新!!这个热更新功能,对于IOS APP更有意义,由于,能够避免繁琐的苹果审核!!这个热更新几乎是全部Cordova开发都须要的功能!!!github
Cordova热更新插件:https://github.com/nordnet/cordova-hot-code-pushnpm
Cordova热更新工具:https://github.com/nordnet/cordova-hot-code-push-clijson
热更新,如何实现的?Cordova的热更新插件,靠什么去找到须要更新的程序呢?咱们先无论这些问题了,先把上面插件和工具安装上再说!服务器
一,安装Cordova热更新插件和热更新工具ide
1,安装Cordova热更新插件工具
cordova plugin add cordova-hot-code-push-plugin
或测试
cordova plugin add https://github.com/nordnet/cordova-hot-code-push.git
2,安装Cordova热更新工具,打开DOS窗口,输入下面命令后回车
npm install -g cordova-hot-code-push-cli
假设,上面热更新插件和热更新工具都安装完毕了,那么回头看上面我提到的问题,应该搞清楚这些,那么就更容易理解和使用Cordova热更新插件了!
二,了解热更新重要文件和配置。
1,config.xml ,这个文件是Cordova工程配置文件,在Cordova工程的根目录。这里面须要加入一个很重要的配置项:
<chcp> <config-file url="http://192.168.2.3/chcp.json" /> </chcp>
这个url,是Cordova热更新配置文件,JSON格式的,存放于须要热更新的程序根目录中,并且必须可以被Cordova以Http方式访问到,不然没法更新!!!下面是个人配置信息截图:
2,cordova-hcp.json,这是Cordova热更新工具自动生成的文件,用于热更新工具编译。存放位置,Cordova工程根目录。下面是个人这个文件的配置项目:
{ "name": "CordovaHotUpdate", "ios_identifier": "", "android_identifier": "io.cordova.hellocordova", "update": "start", "content_url": "http://192.168.2.3" }
两个参数很重要,影响到是否能够更新和如何更新?
content_url:这是Cordova热更新程序存放目录,对应Cordova工程的www目录,之后程序变化以后,使用Cordova热更新工具编译以后,直接把www目录中全部文件覆盖这个目录中的全部文件就能够了。
update:这是热更新的方式,经过它决定以什么样的方式更新Cordova程序。
3,chcp.json,这是极其重要的一个文件,是否可以热更新,它起到相当重要的做用!这个文件存放目录,热更新程序的根目录。Cordova热更新插件进行热更新,必须首先访问这个文件,经过它来获取热更新程序存放目录,以及热更新方式!它的配置和上面的“cordova-hcp.json”基本同样。这个文件是Cordova热更新工具自动生成的文件。
4,chcp.manifest,这是极其重要的一个文件,是否可以热更新,它起到相当重要的做用!它里面记录了程序的变更。这个文件是Cordova热更新工具自动生成的文件。
三,实现热更新。前提是已经安装完了Cordova热更新插件和帮助工具。
注意:全部命令均是在Cordova工程目录下操做的,在DOS窗口执行命令以前,必须首先进入Cordova工程根目录
1,生成热更新相关配置文件。在DOS窗口,先进入Cordova工程根目录,随后在DOS窗口中输入下面命令:
cordova-hcp init
这个时候,窗口中会出现多个问题,等待你输入,最重要的是上面我提到的两个update和content_url,把上面问题都回答完毕后,回车就会生成了cordova-hcp.json,存放在Cordova根目录下!content_url,是很是重要的配置项,这是Cordova更新程序的在服务器上的存放目录,必须保证这个目录可以以http方式被访问,并且必定保证里面的chcp.json也可以以http方式访问(IIS应该设置一下才能访问扩展名为json的文件)。
2,用热更新帮助工具编译当前程序。在DOS窗口中输入下面命令。
cordova-hcp build
执行这个命令后,会很快编译完毕,若是程序不大的话,随后你会在www目录中发现两个文件:chcp.json和chcp.manifest,这两个文件,是这个热更新帮助工具自动生成的,不要手动去修改,不然若是修改错误了,热更新也应该不能完成了!
3,编译Cordova的APP。在DOS窗口输入对应APP编译命令,我是用Android作的APP,并且用真机链接测试,因此输入下面命令,直接把编译好的APP安装到了个人真机上。
cordova run android--device
4,修改Cordova的程序,随后再次用Cordova帮助工具编译。编译命令在上面:2
5,编译完毕后,把全部www目录,覆盖测试服务器中对应的文件。
6,从新启动APP。若是一切正常,那么你应该能够看到热更新完成了,此次修改的文件已经在你APP中显示出来了!这里也取决于你的update参数如何配置,具体配置说明,请参考官方文档说明。
可能引发困惑问题:
1,热更新服务器须要安装什么软件吗?什么软件都不须要安装,只须要你能保证存放热更新程序的目录以http方式正常访问,并且json格式的文件,也必须一样以Http方式访问到。
2,我只安装热更新插件,是否能够实现热更新?应该能够,可是比较麻烦,那些配置文件手动处理不太方便,并且还有一个标明文件变更的文件,那个处理应该很费解,最好仍是使用Cordova帮助工具。
3,Cordova热更新帮助工具,有一个"server"命令,我是否须要?确实,这个工具提供了一个这样的命令,命令以下:
cordova-hcp server
这个命令,是帮助你在本地实现一个http服务器,测试Cordova热更新,也能够在开发时候使用这样方式来更新程序,真正在互联网上服务器实现热更新时候,不须要这个命令。
最后截图,是个人Android APP实现热更新以后的图片:
参考: