当前位置: 首页 > 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.xdnf.cn/news/1228897.html

相关文章:

  • 【Android】RecyclerView实现新闻列表布局(1)适配器使用相关问题
  • 原生JS使用svg-pan-zoom库平移和缩放svg
  • 八股取士--docker
  • 【C++】第二十一节—一文详解 | 红黑树实现(规则+效率+结构+插入+查找+验证)
  • Day18--二叉树--530. 二叉搜索树的最小绝对差,501. 二叉搜索树中的众数,236. 二叉树的最近公共祖先
  • 【MQ】kafka同步和异步的区别
  • 函数指针——回调函数
  • MybatisPlus-逻辑删除
  • Redis核心机制与实践深度解析:从持久化到分布式锁
  • 江协科技STM32 13-1 PWR电源控制
  • AG32mcu通过寄存器方式操作cpld
  • 3 使用 Jenkins 构建镜像:将你的应用打包成镜像
  • sqli-labs:Less-18关卡详细解析
  • 【隧道篇 / IPsec】(7.6) ❀ 02. 如何删除向导创建的IPsec安全隧道 (点对点) ❀ FortiGate 防火墙
  • K8S部署ELK(三):部署Elasticsearch搜索引擎
  • Java基础——实现图书管理系统交互功能
  • java实现运行SQL脚本完成数据迁移
  • String boot 接入 azure云TTS
  • 【深度学习②】| DNN篇
  • Python 字典为什么查询高效
  • Python编程基础与实践:Python基础数据类型入门
  • 如何在Ubuntu上部署excalidraw
  • 逻辑回归 银行贷款资格判断案列优化 交叉验证,调整阈值,下采样与过采样方法
  • 管家婆线下CS产品创建账套(普普、普及、辉煌II)
  • 小迪23-28~31-js简单回顾
  • LINUX82 shell脚本变量分类;系统变量;变量赋值;四则运算;shell
  • PYTHON从入门到实践-18Django从零开始构建Web应用
  • 9.3panic!最佳实践
  • 硬件-电容学习DAY1——钽电容失效揭秘:从冒烟到爆炸全解析
  • Next.js 怎么使用 Chakra UI