Ionic3开发教程 - 更新(5)

2023-11-07

Ionic3开发系列教程Ionic3开发教程 - 环境准备(1)Ionic3开发教程 - 开发(2)Ionic3开发教程 - 发布Android版本(3)Ionic3开发教程 - 发布IOS版本(4)Ionic3开发教程 - 更新(5)

App新功能开发完成后,可以选择热更新下载更新两种方式来更新上线。

两种方式区别:

  • 热更新:
    更新形式:无感更新,自动下载更新;只需要更新在线镜像文件,不需要重新打包Apk文件;(更新完成后App屏幕会刷新重载,会出现瞬间白屏现象)
    应用场景:App只更新了业务功能js代码,没有变动插件(plugins目录)、config.xml配置等原生代码时可以使用热更新;
  • 下载更新:
    更新形式:App出来弹窗,提示有新版本下载,点击下载后,自动打开新App安装更新;相当于安装一个全新的App;
    应用场景:App修改了插件(plugins目录)、config.xml配置等原生代码时,必须使用下载更新,重新安装App;

下面介绍新功能开发完成后,如何进行两种更新方式的更新

一、热更新

  1. 打包
    执行npm cordova build android/ios --prod --release,这一步是为了拿到项目根目录下www中的最新代码。

  2. 生成热更新文件
    执行cordova-hcp build,会在上面生成的www目录中生成两个文件chcp.jsonchcp.manifest

//chcp.json
{
  "name": "App名字",
  "android_identifier": "com.app.test",
  "ios_identifier": "id0000000001",
  "min_native_interface": 10,
  "update": "now",
  "content_url": "http://chcp.app.cn/hotcode/www",
  "release": "2020.01.07-11.28.22"
}
  1. 复制最新文件到线上镜像地址
    复制www目录中所有文件,替换线上镜像地址中的所有文件。

App首次打开后,会去检测chcp.jsonrelease版本号是否变更,如果变更则读取chcp.manifest清单,进行热更新;

二、下载更新

  1. 修改版本号
    更新config.xml中,android-versionCode="10"(ios版本不需要改)<native-interface version="10" />版本号。
<?xml version='1.0' encoding='utf-8'?>
<widget android-versionCode="10" id="com.app.test"  ...>
    <name>App名字</name>
    <description>App描述</description>
    //...
    <chcp>
        <native-interface version="10" />  //------------------------>>here
        <auto-download enabled="false" />
        <auto-install enabled="true" />
        <config-file url="http://test.app.cn/hotcode/www/chcp.json" />
    </chcp>
</widget>

更新cordova-hcp.jsonmin_native_interface

{
  "name": "App名字",
  "android_identifier": "com.app.test",
  "ios_identifier": "id0000000001",
  "min_native_interface": 10,                //------------------------>>here
  "update": "now",
  "content_url": "http://chcp.app.cn/hotcode/www"
}
  1. 首次打包
    执行npm cordova build android/ios --prod --release,这一步是为了拿到项目根目录下www中的最新代码。

  2. 生成热更新文件
    执行cordova-hcp build,会在上面生成的www目录中生成两个文件chcp.jsonchcp.manifest

  3. 复制最新文件到线上镜像地址
    复制www目录中所有文件,替换线上镜像地址中的所有文件。

  4. 二次打包
    执行npm cordova build android/ios --prod --release,这一步是为了把项目根目录下www中的最新代码打包进platform原生代码中。


Android版App则执行如下6+7步骤:
  1. Android Studio修改platform中原生代码(可选)
    例如整合腾讯X5内核,查看详细:ionic3使用X5内核预览常用文件
  2. Android打包(可选)
    查看详细:Ionic3开发教程-打包发布Android版本(3)

如果步骤6+7没有执行,则执行完步骤5,签名后既可以上线App。签名方式查看:Ionic3开发教程-打包发布Android版本(3)


IOS版App则执行如下6步骤:
  1. 用mac打开Xcode,进行打包
    详细打包请查看:Ionic3打包发布详细教程-IOS
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ionic3开发教程 - 更新(5) 的相关文章

随机推荐

  • 测试工程师在团队中没地位怎么办?

    为什么会出现这样的问题 首先自查 为什么自身 组织在团队中的地位没那么高 影响力没那么大 在一个项目团队中 每一个角色都是不可或缺的 若出现某一个角色地位比较低 不被信任 那这个角色就要检查自己了 从测试的角度来看 如果一个开发同学经常犯错
  • Docker容器与虚拟化技术:Docker compose部署LNMP

    目录 一 理论 1 LNMP架构 2 背景 3 Dockerfile部署LNMP 3 准备Nginx镜像 4 准备MySQL容器 5 准备PHP镜像 6 上传wordpress软件包 7 编写docker compose yml 8 构建与
  • Css不常用的方法

    flex布局换行之后 下面一行的布局会异常 homeItemBox display flex flex wrap wrap justify content flex start homeItem display flex width cal
  • python小记(一)矩阵和向量的拼接

    TOCpython小计 一 python矩阵和向量的拼接 比如用python生成一个长度为17000的向量和一个17000 8的矩阵 那么向量的shape为 17000 矩阵的shape为 17000 8 查了CSDN上很多都是矩阵拼接矩阵
  • 在windows上装oracle11g R2 小麻烦

    发现在windows上装11GR2这么麻烦的 因为下载有两个包 所以 必须要把stage里面的components中的内容copy在一起 或将下载下来的两个包解压到同一个目录下 否则会报错误找不到em ear等文件 大家小心了
  • 如何吧未开源的jar包引入到maven项目中

    需求阐述 在与阿里云视频点播服务整合的时候 需要引入相应的jar包 由于aliyun java vod upload 1 4 14 jar还没有正式开源 所以需要直接把jar包引入到我的maven项目中进行使用 解决方案 1 使用maven
  • C/C++,转义字符,转义字符后加数字,以及八进制,十六进制的表示方法

    转义字符的作用 在C C 中 有一些字符是没办法直接输入或者表示的 此时就需要转移字符了 常用的转义字符 其中 单引号 双引号 问号 反斜杠 都需要转义字符 但是在平时输出的时候 发现 反斜杠和问号都可以正常输出 这是因为C标准允许这么做
  • 京东企业购APP发布4.0版本 并更名为京东慧采

    TechWeb 6月26日消息 京东企业业务正式对外发布京东企业购APP4 0版本 并更名为京东慧采 据了解 本次升级以采购管理移动化 订单过程可视化为核心 围绕账号管理 权限管理 多级审批管理 物流地图 数据分析工具等功能进行了大规模的迭
  • [正能量系列]失业的程序员(二)

    注 本文原型为作者的好友们 全文不完全代表作者本人的意图 本文上一章 失业的程序员 一 意外的失业 闹钟响 迷迷糊糊的我砸了一下开关 竟然把闹钟砸坏了 昨天接到学姐的电话 说是帮我介绍了一个钢管制造厂企业型宣传网站的业务 难度不大主要是美工
  • 群辉做无盘服务器,累了,最后的福利:NAS做家用无盘近完美资源包

    近段时间搞 启无盘搞得身心疲惫 决定要好好休息了 可能不再研究这个了 现在放出比较完美的启动包和脚本 基本上不再需要去手动改配置文件了 能多机做无盘 就看你的 磁盘性能了 T5 u v r T 0 d0 N Z4 c I e K 4 G1
  • 开源协议许可证浅析

    如今开源的软件已经越来越被广泛使用 各种专利纠纷也越来越多 工作上要求对开源协议的理解也很迫切 做技术架构是每一个技术人员最渴望的职责 但要做好初级的技术架构工作首先要对各种各样的开源协议有深入了解 知道什么开源软件是工作在什么协议之下 对
  • vue+ElementUI el-select实现下拉选择表格组件(2023-09-04 TSelectTable组件实现虚拟滚动,解决不分页数据量大渲染DOM过多而卡顿问题)

    2023 09 04 TSelectTable组件实现虚拟滚动 解决不分页数据量大渲染DOM过多而卡顿问题 2023 08 21 解决TSelectTable组件表单编辑回显设置defaultSelectVal 无效 一 最终效果 二 代码
  • 智能语音机器人竞品调研

    一 腾讯云 智能客服机器人 链接地址 智能客服机器人 在线智能客服 智能客服解决方案 腾讯云 二 阿里云 智能语音机器人 链接地址 智能对话机器人 阿里云帮助中心 链接地址 智能外呼机器人的业务架构 智能外呼机器人 阿里云帮助中心 三 火山
  • Java——类****是公共的,应在****的文件中声明

    源代码如下所示 public class HelloWord public static void main String args System out println HelloWord 错误如下图所示 解决方法 将第一行的类名 命名为
  • Pybooks:这十本Python编程语言的入门书籍入门必看!

    这个好像没有在微信发过图文版的 补一个 大部分介绍摘自京东等网站 Python基础教程 评语 Python入门佳作 经典教程的全新修订 10个项目引人入胜 Python基础教程 第2版 修订版 是经典的Python入门教程 层次鲜明 结构严
  • 交换机端口镜像及Wireshake抓包

    1 首先配置交换机 先将交换机断开与其他交换机连接的网线 保证电脑端只与这一个交换机通信 2 之前配置过交换机的 如果记得IP 可以直接通过交换机的IP进行登录 3 如果忘记交换机的IP 则可以重置 交换机上有一个reset按键 重置后 我
  • SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@xxx] was not registered for synchro

    目录 1 报错场景 2 问题原因及解决办法 1 报错场景 在搞SpringBoot项目的时候 把Mybatis打印日志的配置打开后 发现每条Sql打印的时候都会在前面打印如下的信息 强迫症受不了 得查查为什么 Creating a new
  • sql server数据库备份单个表的结构和数据生成脚本

    文章摘自 博客园随笔 https www cnblogs com wmqiang p 10437607 html 1 使用场景 sql server数据库备份单个表的结构和数据 在我们要修改正式系统的数据的一天或者多条某些数据时候 要执行u
  • 在yoloV5-6 中使用tensorboard

    使用 在train文件中加入 import torch from torch utils tensorboard import SummaryWriter writer SummaryWriter log dir project train
  • Ionic3开发教程 - 更新(5)

    Ionic3开发系列教程Ionic3开发教程 环境准备 1 Ionic3开发教程 开发 2 Ionic3开发教程 发布Android版本 3 Ionic3开发教程 发布IOS版本 4 Ionic3开发教程 更新 5 App新功能开发完成后