zoukankan      html  css  js  c++  java
  • 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 现在暂时还没有做。

      到此程序更新就完成了。

      

        

      

  • 相关阅读:
    Navigator对象
    Location对象
    History 对象
    计时器用法
    window对象
    某班的成绩出来了,现在老师要把班级的成绩打印出来,和 显示当前时间
    牛客练习赛14A(唯一分解定理)
    贪心法(举例子强行凑规律)
    线性筛(欧拉筛法)
    欧拉函数
  • 原文地址:https://www.cnblogs.com/shachangdianbing/p/6186873.html
Copyright © 2011-2022 走看看