cordova打包app热更新问题
定义: 基于 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热更新问题相关推荐
- 乐变黄杲:当前如何选择App热更新服务
在2017年6月这个时间点,我们有必要谈谈热更新这个技术到底何去何从. \\ 上半年苹果的两次警告,通知iOS开发者在6月12日前移除热更新相关代码,否则将会下架相关App,一时间风声鹤唳,那么App ...
- 一文解释到底什么是“APP热更新技术”?
首先,热更新技术作为一种App软件开发者常用的更新方式,简而言之就是用户在下载安装APP之后,会有APP的即时更新. 自从2017年苹果App Store针对热更新的下架事件发生之后,诸多开发者也在不 ...
- 关于APP热更新,一个降本增效的好方法
热更新是一种App软件开发者常用的更新方式.简单来说,就是在用户下载安装App之后,打开App时遇到的即时更新.这样的更新方法不仅利于开发者方的降本增效,而且对于用户方的体验也非常友好.下面我们就来详 ...
- 使用 Cordova 打包 app
1.安装nodejs 2.安装 cordova npm install -g cordova 3.Cordova 打包成安卓APK需要用到ANT打包工具,首先配置好java环境: 下载安装Java J ...
- ionic cordova 打包app不自动签名
ionic cordova 打包app不自动签名 ionic cordova build android --prod --release 上面的命令不会自动签名 问题描述: 之前配置release- ...
- Cordova App 热更新 超详细教程
前言: Cordova热更新的一些要点: 1.在不用重新安装App的情况下,更新你的代码.可以越过应用商店的审核步骤. 2.涉及的插件依赖发生变化时,无法使用热更新,需要去应用商店下载最新版本安装. ...
- Ionic APP 热更新
开门见山,本文主题:cordova-hot-code-push 作用:cordova热更新插件,提供了在应用程序中对基于Web的内容进行自动更新的功能. GitHub地址:https://github ...
- Ionic APP 热更新 之 产品发布状态下的热更新搭建,去local-dev-addon插件
上一篇,我们介绍了在本地开发环境下的ionic项目热更新测试, 本文,我们将详细说明如何在去掉cordova-hot-code-push-local-dev-addon插件的情况下,实现热更新. 使用 ...
- Android APP热更新中的插件化(Hook技术:反射或动态代理),Demo (2)
修改AAPT,资源分区,用于Android插件化- https://github.com/BaoBaoJianqiang/AAPT -- Android下的挂钩(hook)和代码注入(inject) ...
最新文章
- SAP Fiori + Vue = ?
- [BZOJ4671]异或图
- 65 + iPhone应用程序网站创意设计灵感(上篇)
- vue-cli安装步骤
- STL11-stack容器
- Java中三层架构与MVC之间的显著区别
- 精读45-180程序转弯模板
- hmcl手机版下载_最新HMCL下载地址
- 解决MATLAB不能设置为.m .slx .mat等文件默认打开方式
- android RS485串口接线正反的问题
- 数据结构与算法分析(C++语言版)张琨版 课后答案———第一章
- 黑马程序员JAVAEE企业级开发应用教程笔记
- 团队管理——情绪价值
- 地图附近名片流量主小程序开发
- mysql 集群搭建(Centos7) for Galera
- GPRS的工作原理、主要特点(转自aerkate)
- 在Ubuntu中配置中文输入法
- 关于uboot的简介——uboot对Flash与DDR的管理
- 数据可视化教程作业打卡-第四回:文字图例尽眉目
- 计算机理论导引 试卷,计算机理论导引实验报告_CFG是P成员.doc
热门文章
- [枚举] COGS 1580 [WC2005]友好的生物
- 印象笔记mac版 同步问题_【杂谈】想成为机器学习学霸?先学会做笔记吧(Evernote,BoostNote,Leanote等)...
- 利用java实现发送邮件
- 首家完成并购并进行重新备案公示的企业征信牌照公司-湖南省征信
- python中bd是什么属性_聊一聊:Python中对象的属性
- 数据分析师必备技能之PowerBI教程
- 把图片变成语音怎么弄?快来看看这篇文章
- 登月疑问:为什么没有在月球上拍地球的照片?
- 还原SQL Server数据库
- 如何做好实施前准备?