版本检测详解
版本检测回答的问题是:源上的新版,比我装的这版新吗。它的机制比直觉简单,边界也比直觉多。
机制
跟踪已安装应用时,Obtainium 从系统读到当前版本号,与源报告的版本号做文本格式比对。比对前提是两者符合同一种"标准格式"(如 x.y.z 或 x.y);源字符串里的修饰(v、-beta 等)会被尝试剥掉再比。系统报告的真实版本永远不做任何剥离。
对不上会怎样
两边格式不一致时,该应用的版本检测被停用:只按"源上有新条目"提醒,不比较新旧。典型例子:系统报 102.2.1-Release (12.5.6),源上根本没有版本号(如某些 HTML 源只有链接)——这种只能靠伪版本判定变化。
编辑页的补救开关
- 使用版本代码作版本:改用系统的版本代码(整数递增)比较,绕开字符串格式问题;
- 使用发布日期作为版本:按发布时间先后判定新旧。
开关在各应用的编辑页里,见应用详情页。
伪版本
提取不到版本号的源(HTML 兜底、下载直链、仅跟踪)用"每发新版必变"的标识替代,如链接哈希。它只支持"变化即新版",不支持新旧比较,相关参数见HTML 源进阶设置。
更新没提示但源上明明有新版?先查版本检测是否被停用,完整排查顺序见更新失败排查。