最近作移动商城开发,须要一个自动升级APP的功能,在网上搜罗不少,发现有的是下载APK,有的在我这服务没法实现,因为时间缘由,都被PASS了,最后找到了一个热更新插件,通过半天的调试,可使用,很欣喜,记录下来,一块儿学习。android
此插件名称是cordova-hot-code-push 能够在github 下载到源码,附地址:https://github.com/nordnet/cordova-hot-code-pushios
1.首先打开cli,执行命令 npm install -g cordova-hot-code-push-cligit
此功能主要是为了生成两个配置文件chcp.json和chcp.manifest,用于检测更新 github
2.安装更新插件web
打开项目路径,打开clinpm
ionic plugin add cordova-hot-code-push-pluginjson
ionic plugin add cordova-hot-code-push-local-dev-addon服务器
3.运行 cordova-hcp build 或 cordova buildionic
此时www文件夹中会出现两个文件,也就是上文说的chcp.json和chcp.manifest学习
chcp.json格式
{ "autogenerated": true, "content_url": "http://xxxxx.com", //更新远程库路径 "update": "start", //更新模式 start:启动更新 resume:后台切换回来更新 now:web内容下载完毕即安装更新 "release": "2016.12.16-11.29.38" }
该文件在每次执行cordova-hcp build 都会更新,为了避免用每次更改chcp.json的内容,能够在项目根目录下建立一个cordova-hcp.json文件,以下
{ "autogenerated": true, "content_url": "http://xxxxx.com", //更新远程库路径
"update": "start"
}
之后每次执行cordova-hcp build时,会将cordova-hcp.json的内容更新到chcp.json中,省去每次都要修改的麻烦。
chcp.manifest 为文件的名称与hash值的集合,用于检测哪些文件须要更新
4.此时在项目根目录下会生成一个.chcpenv的文件,此文件用户配置远程服务器,内容以下:
{ "content_url": "http://xxxxx.com", //用于获取文件 "config_url": "http://xxxxx.com/chcp.json" //用于访问远程服务器配置文件 }
5.如今就能够打包APP测试,修改www目录下的任何一个文件,而后cli执行cordova-hcp build,上面的两个配置文件会同时更新,
而后将www下全部的文件一块儿拷贝到远程服务器目录,我放在了IIS 下的一个AppUpdate下
6.如今就能够打开程序查看更新效果,可能会打开两次才能看到效果,能够看一下刚才更新的内容。
上述都是基于android的,ios 如今暂时尚未作。
到此程序更新就完成了。