zoukankan      html  css  js  c++  java
  • Cordova

    Cordova版本:8.0.0

    更新APP平台:Android

    操作系统:Windows

    Cordova的热更新,作用是把www内的变动部分更新到APP中,实现主程序不动,完成更新!!这个热更新功能,对于IOS APP更有意义,因为,可以避免繁琐的苹果审核!!这个热更新几乎是所有Cordova开发都需要的功能!!!

    Cordova热更新插件:https://github.com/nordnet/cordova-hot-code-push

    Cordova热更新工具:https://github.com/nordnet/cordova-hot-code-push-cli

    热更新,如何实现的?Cordova的热更新插件,靠什么去找到需要更新的程序呢?我们先不管这些问题了,先把上面插件和工具安装上再说!

    一,安装Cordova热更新插件和热更新工具

    1,安装Cordova热更新插件

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

    cordova plugin add https://github.com/nordnet/cordova-hot-code-push.git

    2,安装Cordova热更新工具,打开DOS窗口,输入下面命令后回车

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

    假设,上面热更新插件和热更新工具都安装完毕了,那么回头看上面我提到的问题,应该搞清楚这些,那么就更容易理解和使用Cordova热更新插件了!

    二,了解热更新重要文件和配置。

    1,config.xml ,这个文件是Cordova工程配置文件,在Cordova工程的根目录。这里面需要加入一个很重要的配置项:

        <chcp>
            <config-file url="http://192.168.2.3/chcp.json" />
        </chcp>

    这个url,是Cordova热更新配置文件,JSON格式的,存放于需要热更新的程序根目录中,而且必须能够被Cordova以Http方式访问到,否则无法更新!!!下面是我的配置信息截图:

     2,cordova-hcp.json,这是Cordova热更新工具自动生成的文件,用于热更新工具编译。存放位置,Cordova工程根目录。下面是我的这个文件的配置项目:

    {
      "name": "CordovaHotUpdate",
      "ios_identifier": "",
      "android_identifier": "io.cordova.hellocordova",
      "update": "start",
      "content_url": "http://192.168.2.3"
    }

    两个参数很重要,影响到是否可以更新和如何更新?

    content_url:这是Cordova热更新程序存放目录,对应Cordova工程的www目录,以后程序变化之后,使用Cordova热更新工具编译之后,直接把www目录中所有文件覆盖这个目录中的所有文件就可以了。

    update:这是热更新的方式,通过它决定以什么样的方式更新Cordova程序。

    3,chcp.json,这是极其重要的一个文件,是否能够热更新,它起到至关重要的作用!这个文件存放目录,热更新程序的根目录。Cordova热更新插件进行热更新,必须首先访问这个文件,通过它来获取热更新程序存放目录,以及热更新方式!它的配置和上面的“cordova-hcp.json”基本一样。这个文件是Cordova热更新工具自动生成的文件。

    4,chcp.manifest,这是极其重要的一个文件,是否能够热更新,它起到至关重要的作用!它里面记录了程序的变动。这个文件是Cordova热更新工具自动生成的文件。

    三,实现热更新。前提是已经安装完了Cordova热更新插件和帮助工具。

    注意:所有命令均是在Cordova工程目录下操作的,在DOS窗口执行命令之前,必须首先进入Cordova工程根目录

    1,生成热更新相关配置文件。在DOS窗口,先进入Cordova工程根目录,随后在DOS窗口中输入下面命令:

    cordova-hcp init

    这个时候,窗口中会出现多个问题,等待你输入,最重要的是上面我提到的两个update和content_url,把上面问题都回答完毕后,回车就会生成了cordova-hcp.json,存放在Cordova根目录下!content_url,是非常重要的配置项,这是Cordova更新程序的在服务器上的存放目录,必须保证这个目录能够以http方式被访问,而且一定保证里面的chcp.json也能够以http方式访问(IIS应该设置一下才能访问扩展名为json的文件)。

    2,用热更新帮助工具编译当前程序。在DOS窗口中输入下面命令。

    cordova-hcp build

    执行这个命令后,会很快编译完毕,如果程序不大的话,随后你会在www目录中发现两个文件:chcp.json和chcp.manifest,这两个文件,是这个热更新帮助工具自动生成的,不要手动去修改,否则如果修改错误了,热更新也应该不能完成了!

    3,编译Cordova的APP。在DOS窗口输入对应APP编译命令,我是用Android做的APP,而且用真机连接测试,所以输入下面命令,直接把编译好的APP安装到了我的真机上。

    cordova run android--device

    4,修改Cordova的程序,随后再次用Cordova帮助工具编译。编译命令在上面:2

    5,编译完毕后,把所有www目录,覆盖测试服务器中对应的文件。

    6,重新启动APP。如果一切正常,那么你应该可以看到热更新完成了,这次修改的文件已经在你APP中显示出来了!这里也取决于你的update参数如何配置,具体配置说明,请参考官方文档说明。

    可能引起困惑问题:

    1,热更新服务器需要安装什么软件吗?什么软件都不需要安装,只需要你能保证存放热更新程序的目录以http方式正常访问,而且json格式的文件,也必须同样以Http方式访问到。

    2,我只安装热更新插件,是否可以实现热更新?应该可以,但是比较麻烦,那些配置文件手动处理不太方便,而且还有一个标明文件变动的文件,那个处理应该很费解,最好还是使用Cordova帮助工具。

    3,Cordova热更新帮助工具,有一个"server"命令,我是否需要?确实,这个工具提供了一个这样的命令,命令如下:

    cordova-hcp server

    这个命令,是帮助你在本地实现一个http服务器,测试Cordova热更新,也可以在开发时候使用这样方式来更新程序,真正在互联网上服务器实现热更新时候,不需要这个命令。

    最后截图,是我的Android APP实现热更新之后的图片:

    参考:

    https://github.com/nordnet/cordova-hot-code-push

    https://github.com/nordnet/cordova-hot-code-push-cli

  • 相关阅读:
    VS2015 update3 安装 asp.net core 失败
    connection timeout 和command timeout
    安装.NET Core
    xamarin 学习笔记02- IOS Simulator for windows 安装
    xamarin 学习笔记01-环境配置
    BotFramework学习-02
    BotFramework学习-01
    正则表达式
    获取指定字节长度的字符串
    pdf生成器
  • 原文地址:https://www.cnblogs.com/sunylat/p/9896938.html
Copyright © 2011-2022 走看看