欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
覆盖安装后偶现历史版本的代码,通常是 wgt 热更新资源未被整包完全覆盖导致的。因为 uni-upgrade-center 在检测更新时,会优先选择版本号更高的 wgt 包,若你发布的整包版本低于之前的 wgt 包版本,整包安装后应用实际运行的仍是旧的整包代码,从而出现“历史版本代码”的现象。
原因与排查
- 版本号冲突:
wgt 热更新包版本号(如 4.5.6)高于整包版本(如 4.0.0),整包覆盖后,应用内部残留了更高版本的 wgt 资源,导致加载旧资源。
- 热更新残留文件:
wgt 安装包会下载到应用内部目录,若安装后未重启或清理缓存,旧包可能被再次加载。
- 旧版 HBuilderX 的已修复 Bug:iOS 侧曾出现过 “wgt 热更新后整包覆盖安装引起启动白屏” 的问题,Android 侧也曾有过 “v2 版本 apk 使用 wgt 升级资源后用 v3 apk 覆盖安装无法进入应用” 的缺陷,这些均在后续版本中修复。若你的 HBuilderX 版本过老,可能触发已修复的 Bug。
解决方案
- 保证整包版本号最大
发布整包更新时,必须让其版本号大于所有已发布的 wgt 包版本,且高于当前线上用户使用的版本。可在 uni-upgrade-center 后台发布时确认。
- 清理残余热更新包
在 App 启动时(例如 App.vue 的 onLaunch 中)调用 plus.runtime.getProperty 获取当前版本,并与本地保存的 wgt 版本对比,若发现异常则删除 _www 目录下的旧资源,或重新执行一次干净的整包安装。
- 升级开发工具与插件
将 HBuilderX 升级到最新正式版(当前为 5.07,alpha 为 5.08),并同步更新 uni-upgrade-center 插件至最新版本,以包含所有历史修复。
- 正确使用热更新与整包更新流程
- 热更新(wgt)适合小版本迭代,更新后必须重启应用。
- 整包更新(apk/ipa)适合大版本或基座变化,安装后应删除之前的热更新残留。
- 在
uni-upgrade-center 云函数 check-version 中,请确保 appVersion(整包版本)和 wgtVersion(热更新版本)的逻辑严格,当发现整包版本 > 当前版本时,应返回整包更新链接,而不是继续下发 wgt 包。
- 手动清理测试
若问题复现,可尝试在整包覆盖安装前,手动卸载应用或清除应用数据,观察是否仍出现历史版本。若消失,则证实为残留资源导致。
如果以上步骤确认无误后问题依旧,建议提供 HBuilderX 版本、uni-upgrade-center 插件版本及版本管理后台的截图,到 uni-app 官方技术交流群 或 DCloud 问答社区 进一步排查。
1 个回复
Ask小助手 - Ask社区AI助手
覆盖安装后偶现历史版本的代码,通常是
wgt热更新资源未被整包完全覆盖导致的。因为uni-upgrade-center在检测更新时,会优先选择版本号更高的wgt包,若你发布的整包版本低于之前的wgt包版本,整包安装后应用实际运行的仍是旧的整包代码,从而出现“历史版本代码”的现象。原因与排查
wgt热更新包版本号(如4.5.6)高于整包版本(如4.0.0),整包覆盖后,应用内部残留了更高版本的wgt资源,导致加载旧资源。wgt安装包会下载到应用内部目录,若安装后未重启或清理缓存,旧包可能被再次加载。解决方案
发布整包更新时,必须让其版本号大于所有已发布的
wgt包版本,且高于当前线上用户使用的版本。可在uni-upgrade-center后台发布时确认。在 App 启动时(例如
App.vue的onLaunch中)调用plus.runtime.getProperty获取当前版本,并与本地保存的wgt版本对比,若发现异常则删除_www目录下的旧资源,或重新执行一次干净的整包安装。将 HBuilderX 升级到最新正式版(当前为 5.07,alpha 为 5.08),并同步更新
uni-upgrade-center插件至最新版本,以包含所有历史修复。uni-upgrade-center云函数check-version中,请确保appVersion(整包版本)和wgtVersion(热更新版本)的逻辑严格,当发现整包版本 > 当前版本时,应返回整包更新链接,而不是继续下发wgt包。若问题复现,可尝试在整包覆盖安装前,手动卸载应用或清除应用数据,观察是否仍出现历史版本。若消失,则证实为残留资源导致。
如果以上步骤确认无误后问题依旧,建议提供 HBuilderX 版本、
uni-upgrade-center插件版本及版本管理后台的截图,到 uni-app 官方技术交流群 或 DCloud 问答社区 进一步排查。要回复问题请先登录或注册
公告
更多>相关问题