Ionic1 APP代码热更新

功能描述

      APP热更新:不需要重新打包,将更改的代码上传到服务器,打开APP时,APP会自行到服务器检测最新代码以及下载到APP本地实时更新。

前期准备

1.cordova-hcp cli安装

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

    安装cordova-hcp的目的是为了,打开热更新服务

2.添加插件 cordova-hot-code-push-plugin

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

    本插件的git地址:https://github.com/nordnet/cordova-hot-code-push

3.添加插件cordova-hot-code-push-local-dev-addon

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

    该插件的作用:主要是为了能够本地开发测试,但实际运用中我们都有自己服务器(例如:Tomcat服务),因此此插件可以不必安装。

4.使用如下命令build项目

    cordova-hcp build  或者  cordova build

    执行完命令后会www目录下生成两个文件:chcp.json(用户配置热更新代码版本设置),chcp.manifest(此为清单文件,将www下的所有文件生成一个文件清单)。

5.输入如下命令打开热更新服务:

    cordova-hcp server

    打开服务后,每次代码的改动都会更新chcp.json文件。

        {

        "autogenerated":true,

        "release":"2017.09.24-14.10.42",

        "content_url":"http://79265082.ngrok.io",

        "update":"now"

       }

    说明:

        release为更改时间,

        content_url为更新的路径。

        update:可取值分别为:

            start :app启动时安装更新. 默认值.

            resume : app从后台切换过来的时候安装更新.

            now :web内容下载完毕即安装更新.

6.打开服务后会在根目录下生成 .chcpenv 文件。

项目配置

1.使用命令打开 cordova-hcp server 热更新服务。

2.更改 .chcpenv 文件(更改内容如下)

    {

    "content_url": "http://192.168.14.232:8080/app/union_app_update",

    "config_url": "http://192.168.14.232:8080/app/union_app_update/chcp.json"

    }

    说明:

        content_url为放置更新代码的根目录路径。

        config_url 为检查更新chcp.json文件的路径。

3.在config.xml中添加如下内容:

    <chcp>

        <config-file url="http://192.168.14.232:8080/app/union_app_update/chcp.json"/>

    <chcp>

    url 为检查更新chcp.json文件的路径。

4.修改 chcp.json文件

    {

    "autogenerated":true,

     "release":"2017.09.24-14.10.42",

    "content_url":"http://192.168.14.232:8080/app/union_app_update",

    "update":"now"

    }

    此时运行将代码运行在APP中,此时APP中的热更新代码相当于生效了(注意此处cordova-hcp server启动的服务可关闭也可以不关闭)。

5.正常更改代码(即正常的写入:js、html或css代码等)。

6.代码工作开发完成后,打开热更新服务cordova-hcp server,此时发现chcp.json 文件有所改动,更改字段 content_url 的值。"content_url":"http://192.168.14.232:8080/app/union_app_update"。

7.将www下的文件全部复制在服务端的union_app_update目录中。(复制完成后可以在地址栏中输入地址:http://192.168.14.232:8080/app/union_app_update/chcp.json 测试是否能打开此文件)

8.结束APP应用,重新打开APP即可看到更新内容。

9.下载APP更新代码可以放在APP启动页面中。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 做过移动端native开发的朋友,都应该知道版本的发布是件让人挺头疼的事来的。尤其iOS的版本发布,不但要...
    Jock58阅读 9,764评论 5 1
  • 简介 关于Cordova的热更新问题,国内的资料比较少,许多博客上都是胡乱的抄袭,准确性极低,无任何实用性,并且步...
    cl9000阅读 11,515评论 10 15
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,264评论 19 139
  • 在做ionic APP开发时,在本地经过验证和调试,已解决ionic热更新问题。特记录下来。表述如果有不当之处,欢...
    已不淘气很多年阅读 4,101评论 4 0
  • 如今已是草长莺飞的三月天,待到六月的夏天,我就已经正式毕业三载光阴,所以今天我想聊聊我大学的那些年。 1、我的大学...
    庚号先生阅读 1,468评论 0 0

友情链接更多精彩内容