cordova热更新

全局安装cordova

npm install –g cordovahtml

 

全局安装热更新cli

npm install -g cordova-hot-code-push-cliandroid

 

android热更新步骤

建立cordova项目

Cordova create cordova-hot-pushios

安装热更新插件

cordova plugin add cordova-hot-code-push-plugin

 

添加热更新配置文件

cordova-hcp init 生成配置文件npm

 

 

最后生成的文件json

 

 

解释一下里面的配置服务器

Name :项目名字网络

Update:什么时候触发热更新,有几个选项(start(应用启动),resume(应用从后台恢复),now(下载更新后自动执行))app

Content_url:此项配置很是重要。这是www目录存放的网络位置,当有更新的时候,应用会去这个目录下载对应文件。个人作法是在iis上新建一个hot虚拟目录,把www的内容复制进去。测试

 

生成文件映射配置文件

cordova-hcp buildui

 

 

文件映射配置文件生成后,会在www目录下生成两个文件

 

 

第一个chcp.json文件

 

 

咱们能够看到,和热更新配置文件几乎同样,只是多了一个release。版本号。这个版本号通常以时间为单位。

第二个chcp.manifest文件

 

 

能够看到,里面是每一个文件的hash映射。

Config.xml配置

添加配置

<chcp>

<config-file url="http://172.26.40.153/hot/chcp.json" />

<auto-download enabled="true" />

<auto-install enabled="true" />

<native-interface version="1" />

</chcp>

 

 

 

 

添加安卓平台

Cordova platform add android

 

打包并安装

Cordova build android

 

 

 

 

测试更新代码

 

假设咱们如今要更新一个代码。把index.html里面随便加个内容

 

 

 

添加完成以后。保存代码。

 

 

 

这里解释一下更新的原理

当app启动的时候,会去检查本地的版本(release)和服务器上的release(chcp.json)是否同样。不同的话就去对比文件hash,进行相应的文件更新。

 

因此咱们要作的是,先把更新后的代码从新生成文件映射配置文件

 

 

能够看到咱们的版本号变了。

 

接下来把www下面的文件拷贝到以前配置的热更新代码存放点(http://172.26.40.153/hot)的对应目录。(第一次拷贝全部文件,之后只须要拷贝修改过的文件到对应目录替换以及两个chcp相关的文件便可)

 

接下来去启动app试试看

 

 

成功!

 

注意事项

生成热更新配置文件的时候,update选项设置为start,必定要启动两次app才生效。根据个人推测,第一次是下载文件,第二次才生效。把Update配置项改为now不知道会不会立马生效,可是若是须要更新的文件较多,不知道会不会影响用户的使用,待测试。

 通过测试,安卓好像只支持http协议,不支持https协议的热更新

Ios热更新步骤

Ios热更新

Ios的热更新和安卓基本同样。不同的地方只是Ios只能使用https协议进行热更新。所以咱们以前得配置都须要配置成https协议。如https://172.26.40.153/hot  另外,咱们要提早作的事情是在咱们的服务器上颁发https证书并绑定,同时在ios设备上安装该证书,信任,才能够进行热更新。

相关文章
相关标签/搜索