
lanterngamescnandClaude Opus 4.8
600378f723
修复子游戏/大厅每次启动都重复下载:version.xml 改用正则解析
现象:子游戏 zip 已下载解压、version.xml 落盘正常,但再次进入仍重新下载;
远程版本与本地一致本应跳过下载。真机诊断([VERXML-DIAG]/[SUBGAME-DIAG]):
installed=true、version.xml 原文完整(<version value="155"/>)、gameId 正确解析为
a52y...,唯独 localVer 恒为 0 → 155<=0 判否 → 每次都判需更新而重下。大厅同理
(localVersion 恒 0,启动期每次重下整包)。
根因:VersionXml.parse 用 @kit.ArkTS xml.XmlPullParser,其
attributeValueCallbackFunction 对本文件 <version> 的 value 属性不稳定触发(同文件
<game> 的 id 却能取到),逻辑自相矛盾——value 无条件捕获却落空,说明该属性回调
未按预期触发。
修法:弃用 XmlPullParser,改确定性正则直接从原文抽 version/gameId/gameName,语义
等价 Android pullxml1,规避解析器回调时序/属性触发的不确定性。根 <game> 无属性
(紧跟 '>'),\s+ 自然跳过,只命中带属性的子 game。
验证:真机覆盖安装后再次进入三个老K,localVer=155、不再下载,直接进 H5。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 09:18:48 +08:00
..
2026-06-27 09:18:48 +08:00
2026-06-25 06:58:29 +08:00
2026-06-25 06:58:29 +08:00
2026-06-25 06:58:29 +08:00
2026-06-25 06:58:29 +08:00
2026-06-26 17:43:20 +08:00
2026-06-25 06:58:29 +08:00
2026-06-25 20:14:02 +08:00
2026-06-25 06:58:29 +08:00