Ionic3开发教程 - 更新(5)
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;
下面介绍新功能开发完成后,如何进行两种更新方式的更新
一、热更新
-
打包
执行npm cordova build android/ios --prod --release
,这一步是为了拿到项目根目录下www
中的最新代码。 -
生成热更新文件
执行cordova-hcp build
,会在上面生成的www
目录中生成两个文件chcp.json
、chcp.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"
}
-
复制最新文件到线上镜像地址
复制www
目录中所有文件,替换线上镜像地址中的所有文件。
App首次打开后,会去检测
chcp.json
中release
版本号是否变更,如果变更则读取chcp.manifest
清单,进行热更新;
二、下载更新
-
修改版本号
更新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.json
中min_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"
}
-
首次打包
执行npm cordova build android/ios --prod --release
,这一步是为了拿到项目根目录下www
中的最新代码。 -
生成热更新文件
执行cordova-hcp build
,会在上面生成的www
目录中生成两个文件chcp.json
、chcp.manifest
。 -
复制最新文件到线上镜像地址
复制www
目录中所有文件,替换线上镜像地址中的所有文件。 -
二次打包
执行npm cordova build android/ios --prod --release
,这一步是为了把项目根目录下www
中的最新代码打包进platform
原生代码中。
Android版App则执行如下6+7步骤:
-
Android Studio修改platform中原生代码(可选)
例如整合腾讯X5内核,查看详细:ionic3使用X5内核预览常用文件 -
Android打包(可选)
查看详细:Ionic3开发教程-打包发布Android版本(3)
如果
步骤6+7
没有执行,则执行完步骤5
,签名后既可以上线App。签名方式查看:Ionic3开发教程-打包发布Android版本(3)
IOS版App则执行如下6步骤:
-
用mac打开Xcode,进行打包
详细打包请查看:Ionic3打包发布详细教程-IOS