ionic 实现自动升级APP

      最近做移动商城开发,需要一个自动升级APP的功能,在网上搜罗很多,发现有的是下载APK,有的在我这服务无法实现,由于时间原因,都被PASS了,最后找到了一个热更新插件,经过半天的调试,可以使用,很欣喜,记录下来,一起学习。

      此插件名称是cordova-hot-code-push 可以在github 下载到源码,附地址:https://github.com/nordnet/cordova-hot-code-push

  1.首先打开cli,执行命令 npm install -g cordova-hot-code-push-cli

   此功能主要是为了生成两个配置文件chcp.json和chcp.manifest,用于检测更新 

  2.安装更新插件

   打开项目路径,打开cli

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

   ionic plugin add cordova-hot-code-push-local-dev-addon

      3.运行 cordova-hcp build 或 cordova build

     此时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 现在暂时还没有做。

  到此程序更新就完成了。

  

    

  

 

posted @ 2016-12-16 14:54  Aiolos丶M  阅读(4132)  评论(0编辑  收藏  举报