cordova cordova-hot-code-push-plugin 插件热更新

node 版本  node-v10.18.0  ,node-v16.14.2-x64 

添加插件 Cordova Hot Code Push

cordova plugin add cordova-hot-code-push-plugin 
添加热更新工具 cordova-hot-code-push-cli

npm install -g cordova-hot-code-push-cli
添加cordova-hcp.json文件

此文件是用于方便生成www文件下chcp.json文件的内容。

执行命令(必须在项目根目录执行更新工具的命令)

cordova-hcp init

生成的默认应用程序配置文件(cordova-hcp.json)在项目根文件夹中。

执行时将要求您从命令行中填写一些项目首选项:
  • Project name: 你现在的项目名称所需.
  • Amazon S3 Bucket name:亚马逊上的S3桶的名字。可以跳过。
  • Amazon S3 region: 亚马逊S3地区。可以跳过。
  • iOS app identifier: 应用程序商店的应用程序ID。App升级是跳转应用商店进行升级。
  • Android app identifier: 可以App在应用商城的地址,或者是apk的下载地址。
  • Update method: 何时执行更新。
    • start: 在启动应用程序时安装更新。
    • resume: 在恢复应用程序(从背景移动到前景状态)或启动时,安装更新;默认使用。
    • now: 从服务器加载更新后立即安装。

cordova-hcp.json文件内容:

{
  "name": "",//可为空
  "autogenerated": true,//如果不添加,热更新会不能使用
  "ios_identifier": "id123456789",//应用在App store id(可为空)
  "android_identifier": "",//应用在应用商城上的地址或者App的下载地址(可为空)
  "update": "start",//在应用启动时安装
  "min_native_interface": 1,//可用以做App升级(可以不填)
  "content_url":
  "http://************/cordova/www"//www文件在服务器上的地址
}

"autogenerated": true 这个值执行命令后是没有的需要自己手动添加,如果不添加网页内容更新将会无效。

4、在www文件下生成chcp.json 和 chcp.manifest文件
  • chcp.json: 包含发布相关信息:热更新代码版本号,应用 native side 版本号等等
  • chcp.manifest: 包含项目热更新代码(静态)文件信息:文件名和文件哈希值

执行命令

cordova-hcp build

执行此命令会在chcp.json文件中增加"release":"当前时间"字段。(默认使用时间戳,格式为:yyyy.MM.dd-HH.mm.ss),插件将版本号进行字符串相等比较来判断是否存在新版本。

"release": "2017.06.07-16.30.20",//唯一web项目版本号,用与热更新web内容的更新。(必需)
5、config.xml 配置

最好写在底部方便以后配置修改

<chcp>
    <auto-download enabled="true" />  //这里如果配置false 需要js代码配和更新

    <auto-install enabled="true" />  //这里如果配置false 需要js代码配和更新

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

JS 手动更新代码

document.addEventListener('deviceready', onDeviceReady, false);

function onDeviceReady() {
            
            chcp.fetchUpdate(function (error, data) {
            	console.log("检测更新数据");
            	console.log(error);
            	console.log(data);
            	if (error == null) {
					console.log('检测到更新...');
					chcp.installUpdate(function (error) {
					console.log("开始更新数据");
            			console.log(error);
						 if (error == null) {
							console.log('安装更新完成...');
                          } else {
						  console.log('安装更新失败...');
                       
                          }
					})
            	}else{
				 console.log('没有发现更新...');
            	};
            })
}

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cordova-hot-code-push-pluginCordova 平台下的一个插件,可以帮助开发者实现 APK 包热更新。下面是详细的使用教程: 1. 安装插件Cordova 项目中执行以下命令安装插件: ```bash cordova plugin add cordova-hot-code-push-plugin ``` 2. 配置插件Cordova 项目的 `config.xml` 文件中添加以下配置: ```xml <hcp> <auto-download enabled="true" /> <auto-install enabled="true" /> <widget id="com.example.app" version="0.0.1"> <content src="index.html" /> <platform name="android"> <preference name="android-minSdkVersion" value="16" /> <preference name="android-targetSdkVersion" value="30" /> <icon src="res/android/ldpi.png" density="ldpi" /> <icon src="res/android/mdpi.png" density="mdpi" /> <icon src="res/android/hdpi.png" density="hdpi" /> <icon src="res/android/xhdpi.png" density="xhdpi" /> <icon src="res/android/xxhdpi.png" density="xxhdpi" /> <icon src="res/android/xxxhdpi.png" density="xxxhdpi" /> <allow-navigation href="*" /> <allow-intent href="*" /> <access origin="*" /> </platform> </widget> </hcp> ``` 其中,`auto-download` 和 `auto-install` 分别表示是否开启自动下载和自动安装更新。`widget` 标签下的其他配置项与 Cordova 项目一致。 3. 打包 APK 在 Cordova 项目中执行以下命令打包 APK: ```bash cordova build android --release ``` 4. 生成更新包 在 Cordova 项目中执行以下命令生成更新包: ```bash cordova-hcp build ``` 该命令会在项目根目录下生成一个 `www.zip` 文件,该文件包含了需要更新的代码和资源。 5. 上传更新包 将 `www.zip` 文件上传到服务器上。可以使用任何支持 HTTP 文件下载的服务器,例如 Apache、Nginx 等。 6. 应用更新 在 Cordova 项目中引入 `chcp.js` 文件,并在应用程序启动时执行以下代码: ```javascript chcp.fetchUpdate(function(error, data) { if (error) { console.error('Failed to fetch update:', error); } else if (data) { console.log('Update is available:', data); chcp.installUpdate(function(error) { if (error) { console.error('Failed to install update:', error); } else { console.log('Update installed successfully'); } }); } else { console.log('No update available'); } }); ``` 该代码会检查是否有更新可用,并在有更新时下载并安装更新。 以上就是使用 cordova-hot-code-push-plugin 实现 APK 包热更新的详细教程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值