定义: 基于 cordova 框架能将web应用 (js, html, css, 图片等) 打包成 App。当 App 在终端上安装后,不需要重新下载app,实现内壳更新。

原理:1.在项目根目录的config.xml文件中添加指向服务器的地址

2.在www目录中添加chcp.json配置文件,配置指向服务器,更新时间,更新方式

步骤:(进入项目目录)

1、在cordova项目下添加热更新插件  cordova-hot-code-push

cordova plugin add cordova-hot-code-push-plugin  命令

(安装插件后可以看到项目根目录增加了cordova-hcp.json。我的内容如下:)

{
                            "name": "test",               // 可为空
                            "autogenerated": true,   //必须项,否则热更新无法使用(需手动添加)
                            "ios_identifier": "",          //应用在Apple Store id(可不填)
                            "android_identifier": "",   //应用在应用商店上的地址或app下载地址(可不填)
                            "update": "start",            //在应用启动时安装
                            "content_url": "http://192.168.0.114:8080/ptzy/www"    //www文件在服务器上的地址
                       }

update可选值:

  • start:应用启动,默认项(install update when application is launched)
  • resume:应用从后台恢复(install the update when application is resumed from background state)
  • now:下载更新后立即执行(install update as soon as it has been downloaded)

2、添加热更新工具  cordova-hot-code-push-cli

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

3、借助 cordova-hot-code-push-cli 工具在www目录下生成chcp.json和chcp.manifest文件:

执行 cordova-hcp init 命令

          Application config:chcp.json 包含发布相关信息:热更新代码版本号,应用 native side 版本号等等(描述了热更新代码的版本信息)

           Content manifest:chcp.manifest 包含项目热更新代码(静态)文件信息:文件名和文件哈希值(提供了热更新代码文件的变更信息)

4、config.xml 配置

在<widget>元素下添加如下:

  • auto-download:是否自动下载热更新代码,默认是 true
  • auto-install:是否自动安装热更新代码,默认是 true
  • native-interface:当前 native side 的版本号
  • config-file:配置文件 chcp.json 从服务器上加载的路径(必须的配置项)

5、cordova-hcp build

执行该命令会在chcp.json文件中增加"release":"当前时间"字段。

(默认使用时间戳,格式为:yyyy.MM.dd-HH.mm.ss),插件将版本号进行字符串相等比较来判断是否存在新版本。

6、cordova build 打包安装app

7、测试更新

例:修改cordova项目下的html内容或js中alert("测试内容")后,执行步骤5命令,然后将项目下的www文件上传至content_url 配置的服务器文件路径下,重新打开app即可( 注:第一次启动的时候检查更新并下载更新,第二次启动的时候就会使用更新的版本)。

以下是检测文件修改,执行cordova-hcp server命令,如下:

当cordova中有文件修改时会输出文件信息,如下:

(注:该方法为本人亲测实现,仅代表本人观点。如有讲述不清或其他问题,请留言,谢谢!)

cordova打包app热更新问题相关推荐

  1. 乐变黄杲:当前如何选择App热更新服务

    在2017年6月这个时间点,我们有必要谈谈热更新这个技术到底何去何从. \\ 上半年苹果的两次警告,通知iOS开发者在6月12日前移除热更新相关代码,否则将会下架相关App,一时间风声鹤唳,那么App ...

  2. 一文解释到底什么是“APP热更新技术”?

    首先,热更新技术作为一种App软件开发者常用的更新方式,简而言之就是用户在下载安装APP之后,会有APP的即时更新. 自从2017年苹果App Store针对热更新的下架事件发生之后,诸多开发者也在不 ...

  3. 关于APP热更新,一个降本增效的好方法

    热更新是一种App软件开发者常用的更新方式.简单来说,就是在用户下载安装App之后,打开App时遇到的即时更新.这样的更新方法不仅利于开发者方的降本增效,而且对于用户方的体验也非常友好.下面我们就来详 ...

  4. 使用 Cordova 打包 app

    1.安装nodejs 2.安装 cordova npm install -g cordova 3.Cordova 打包成安卓APK需要用到ANT打包工具,首先配置好java环境: 下载安装Java J ...

  5. ionic cordova 打包app不自动签名

    ionic cordova 打包app不自动签名 ionic cordova build android --prod --release 上面的命令不会自动签名 问题描述: 之前配置release- ...

  6. Cordova App 热更新 超详细教程

    前言: Cordova热更新的一些要点: 1.在不用重新安装App的情况下,更新你的代码.可以越过应用商店的审核步骤. 2.涉及的插件依赖发生变化时,无法使用热更新,需要去应用商店下载最新版本安装. ...

  7. Ionic APP 热更新

    开门见山,本文主题:cordova-hot-code-push 作用:cordova热更新插件,提供了在应用程序中对基于Web的内容进行自动更新的功能. GitHub地址:https://github ...

  8. Ionic APP 热更新 之 产品发布状态下的热更新搭建,去local-dev-addon插件

    上一篇,我们介绍了在本地开发环境下的ionic项目热更新测试, 本文,我们将详细说明如何在去掉cordova-hot-code-push-local-dev-addon插件的情况下,实现热更新. 使用 ...

  9. Android APP热更新中的插件化(Hook技术:反射或动态代理),Demo (2)

    修改AAPT,资源分区,用于Android插件化- https://github.com/BaoBaoJianqiang/AAPT -- Android下的挂钩(hook)和代码注入(inject) ...

最新文章

  1. SAP Fiori + Vue = ?
  2. [BZOJ4671]异或图
  3. 65 + iPhone应用程序网站创意设计灵感(上篇)
  4. vue-cli安装步骤
  5. STL11-stack容器
  6. Java中三层架构与MVC之间的显著区别
  7. 精读45-180程序转弯模板
  8. hmcl手机版下载_最新HMCL下载地址
  9. 解决MATLAB不能设置为.m .slx .mat等文件默认打开方式
  10. android RS485串口接线正反的问题
  11. 数据结构与算法分析(C++语言版)张琨版 课后答案———第一章
  12. 黑马程序员JAVAEE企业级开发应用教程笔记
  13. 团队管理——情绪价值
  14. 地图附近名片流量主小程序开发
  15. mysql 集群搭建(Centos7) for Galera
  16. GPRS的工作原理、主要特点(转自aerkate)
  17. 在Ubuntu中配置中文输入法
  18. 关于uboot的简介——uboot对Flash与DDR的管理
  19. 数据可视化教程作业打卡-第四回:文字图例尽眉目
  20. 计算机理论导引 试卷,计算机理论导引实验报告_CFG是P成员.doc

热门文章

  1. [枚举] COGS 1580 [WC2005]友好的生物
  2. 印象笔记mac版 同步问题_【杂谈】想成为机器学习学霸?先学会做笔记吧(Evernote,BoostNote,Leanote等)...
  3. 利用java实现发送邮件
  4. 首家完成并购并进行重新备案公示的企业征信牌照公司-湖南省征信
  5. python中bd是什么属性_聊一聊:Python中对象的属性
  6. 数据分析师必备技能之PowerBI教程
  7. 把图片变成语音怎么弄?快来看看这篇文章
  8. 登月疑问:为什么没有在月球上拍地球的照片?
  9. 还原SQL Server数据库
  10. 如何做好实施前准备?