当前位置: 首页 > news >正文

探索:Uniapp 安卓热更新

文章目录

  • 效果
  • 快速验证是否可行
  • 实现步骤
  • 参考文章


效果

在这里插入图片描述

在这里插入图片描述


快速验证是否可行

  • 首先打包一个版本比当前安卓高的 wgt 版本,可以在首页写一些更新
    在这里插入图片描述

  • 然后把 wgt 资源放到服务器中,让前端拿到下载地址

  • 主要的热更新逻辑是如下的代码,看看这个是否能生效即可

const updateApp = async () => {console.log('updateApp:>>')console.log('updateInfo:>>', updateInfo.value);if (!updateInfo.value.wgtUrl) {uni.showToast({title: '更新包不存在',icon: 'none'});return}updateLoading.value = trueconst downloadTask = uni.downloadFile({url: updateInfo.value.wgtUrl,success: (res) => {if (res.statusCode === 200) {console.log('downloadTask, res', res)updateLoading.value = falseinstallUpdate(res.tempFilePath);}},fail: (err) => {uni.showToast({ title: '下载失败', icon: 'none' });console.error('下载失败:', err);}});// 进度更新downloadTask.onProgressUpdate((res) => {updateProgress.value = res.progress;});
};
// 安装更新
const installUpdate = (tempFilePath: string) => {// #ifdef APP-PLUSplus.runtime.install(tempFilePath,{ force: false },() => {restartFlag.value = true;setTimeout(() => {plus.runtime.restart();}, 1500);},(err) => {uni.showToast({ title: '安装失败', icon: 'none' });console.error('安装失败:', err);});// #endif
};

实现步骤

  • wgt 的包版本要比当前安装的版本高,否则会报如下错误
{"code": -1205,"message": "WGT installation package manifest.json the version of the file does not match"
}

参考文章

  • https://juejin.cn/post/7511904422525321252
http://www.lryc.cn/news/608032.html

相关文章:

  • 智能合约漏洞导致的损失,法律责任应如何分配
  • 医疗后台管理系统开发实践
  • 分类任务当中常见指标 F1分数、recall、准确率分别是什么含义
  • 通过解决docker network connect实现同一个宿主机不同网络的容器间通信
  • 【stm32】点灯及蜂鸣器
  • 深度学习·mmsegmentation基础教程
  • 前端开发(HTML,CSS,VUE,JS)从入门到精通!第三天(JavaScript)
  • ospf作业
  • 关于Web前端安全防御之点击劫持的原理及防御措施
  • winscp 连openwrt 返回127错误码
  • Java设计模式之行为型模式(解释器模式)实现方式举例说明
  • 大文件上传:自定义协议
  • 进程 Vs 线程
  • 电路原理图绘制专业实战教程1
  • 深入 Go 底层原理(十五):cgo 的工作机制与性能开销
  • Minimizing Coins(Dynamic Programming)
  • OAuth 2.0 的安全升级版授权协议 OAuth 2.1 详解
  • 【转】大模型安全治理的现状与展望
  • 【龙芯99派新世界】buildroot快速使用笔记
  • WPFC#超市管理系统(4)入库管理
  • STM32——启动过程浅析
  • Shell【脚本 02】离线安装配置Zookeeper及Kafka并添加service服务和开机启动(脚本分析)
  • Kubernetes Gateway API 详解:现代流量路由管理方案
  • Flink2.0学习笔记:Stream API 窗口
  • ubuntu 系统风扇控制软件 CoolerControl
  • 关于项目发布中到后半夜的一些总结
  • Maven - 并行安全无重复打包构建原理揭秘
  • 公网服务器上Nginx或者Openresty如何屏蔽IP直接扫描
  • 译|Netflix 技术博客:一个利用视觉-语言模型和主动学习高效构建视频分类器的框架
  • 初始C语言---第四讲(数组)