HarmonyOS鸿蒙Next应用市场更新有bug,版本号已更改但内容未更新

HarmonyOS鸿蒙Next应用市场更新有bug,版本号已更改但内容未更新 【问题详情】:

我们的bug应该是鸿蒙应用市场的更新和uni-app的热更新有冲突,导致最新版本更新不上;

【复现步骤】:

步骤说明:

版本a :在华为应用市场上传的初始版本(第一个版本)
版本b :uni-app上传的热更新版本(第二个版本)
版本c :在华为应用市场上传的最终版本(第三个版本)
-> : 代表用户更新版本的操作

具体步骤:

a->b : 应用内弹窗提示是否热更新,点击更新即更新到b版本
a->c : 在华为应用市场上自动更新,未通过或拒绝a->b的热更新,直接更新到c,应用正常显示版本c
a->b->c : **在此次出现bug,应用市场上的版本号是最新的版本c,但是应用的内容还是版本b的内容,**只有卸载重新安装才会正常更新到版本c

更多关于HarmonyOS鸿蒙Next应用市场更新有bug,版本号已更改但内容未更新的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

尊敬的开发者,您好,

由于开发者您使用的热更新方式为uni-app提供的plus.runtime.install方法,此方法会将wgt包安装到沙箱路径,热更新包与应用资源共存且优先加载热更新资源,应用市场更新时不会删除沙箱路径中的热更新资源导致此问题。

目前已与uni-app沟通确认是uni-app问题,uni-app后续版本会修复,建议前往uni-app的官方社区交流反馈解决。

更多关于HarmonyOS鸿蒙Next应用市场更新有bug,版本号已更改但内容未更新的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


应该是热更新对于鸿蒙应用来说没有检测到代码修改,原生代码做一些改动,比如调换一下代码的位置,改下变量名之类的。,

这是正常的,更新后是需要卸载才能更新,鸿蒙应该还没有解决,

版本号更新但内容未更新,通常为增量更新机制或资源缓存未刷新导致。请检查应用包签名是否匹配、版本号是否符合语义化规范(如major.minor.patch);也可尝试清除应用市场缓存或重新发布全量包。

该问题可能源于 uni-app 热更新机制将补丁资源保存在应用私有目录中,而 HarmonyOS Next 应用市场的版本更新(可能是增量或覆盖安装)并未清除这些热更补丁。当应用启动时,资源加载逻辑优先使用了热更后的内容,导致界面显示的版本号实际来自市场新包(c),但运行时仍加载了热更包(b)的业务代码或资源。解决方法:应用检测到市场更新时,主动清空热更新缓存的补丁目录,或确保市场更新以完整包覆盖安装。也可以在设计热更新方案时,将热更资源与基础资源隔离,并在应用启动时根据当前安装包版本号决定是否加载热更补丁。

回到顶部