首先贴上我们这个插件的GitHub上的地址 https://github.com/nordnet/cordova-hot-code-push
然后电脑上的环境需要安装node (安装node的时候就会安装npm) ionic cordova android 等等基础环境,这些各位看官可以自行百度安装。
接着准备一台服务器,一台电脑,一个手机。准备之后就开始我们今天的主要内容了。
1.创建一个ionic项目并添加对应平台。
我使用编辑器是phpStorm.然后打开编辑器中的terminal,(这个其实就是一个cmd环境,如果不喜欢也可以用cmd)。
ionic start myApp blank
cd myApp
cordova platform add android/ios
2.安装插件
cordova plugin add cordova-hot-code-push-plugin
安装完这个插件 还要装一个全局插件。
npm install -g cordova-hot-code-push-cli
3.服务器搭建。
1)在服务器上创建一个myApp的文件夹
2)配置Nginx
server { location ~ ^\/myApp { index index.html; root /www/; } listen 80; server_name localhost; }如果你会使用其他服务也是可以的。
3)服务器上也安装第二步的全局插件 npm install -g cordova-hot-code-push-cli
4.安装完上面那个全局插件后就可以使用下面命令生成cordova-hcp.json
cordova-hcp init
修改cordova-hcp.json 文件改为
{
"update":"start",
"content_url":"http://103.103.103.103/myApp/www",
"min_native_interface":10
}
这里要注意upate的几个参数
● start :app启动时安装更新. 默认值. ● resume : app从后台切换过来的时候安装更新. ● now :web内容下载完毕即安装更新.
在ios上使用start和resume 参数测试的时候都要重启应用两次才会生效,而使用now的时候只需要重启应用就可以看到效果了
5.如果你要忽略某些文件的热跟新你就要创建一个 .chcpignore文件,文件中加入你要忽略的文件
**/lib/** 忽略lib下
**/login/**/login.html 忽略login文件夹下的login.html文件
(注意,所有忽略的条件用**/开头,一个忽略条件和另一个忽略条件之间用换行隔开,如果是同一行,则第一个忽略条件失效)
6.使用cordova-hcp build,然后你会发现在www文件夹中会多出chcp.mainfest 和chcp.json文件。
查看chcp.mainfest文件中会给www下所有的文件一个hash值,而上一步中忽略的文件则没有hash值
7.配置config.xml文件 在在config.xml的</widget>上面加入以下内容,注意native-interface要比min_native_interface大
<chcp> <config-file url="http://103.103.103.103/myApp/www/chcp.json"/> <native-interface version="20" /> </chcp>
8.将我们的myApp中的文件复制到服务器的myApp文件夹中
9.cordova run android将应用安装到手机上。
10.现在到服务器上随便改一个文件 (当然是没有忽略的文件)然后 到这个项目的目录下使用 cordova-hcp build 命令
11.退出应用,然后再次打开这个应用的时候,你就会发现你改的内容已经显示在了我们的手机上了。