工作原理:从源到安装包
Obtainium 的工作链路可以拆成三步:盯源 → 比版本 → 拿安装包。理解这三步,后面遇到的绝大多数设置项都能对号入座。
第一步:盯源
添加应用时你提供一个 URL(例如某项目的 GitHub 仓库地址),Obtainium 根据 URL 选定对应的"源"逻辑,定期访问该页面提取两类最关键的信息:
- 最新版本号(或伪版本——一个每发新版都会变化的标识);
- 与该版本对应的 APK 下载链接。
不同源的提取方式差别很大:GitHub 走接口,结构稳定;酷安、应用宝这类商店源靠解析页面;任何不认识的网址则落到 HTML 兜底源,靠"在网页里找 .apk 链接"碰运气,细节见HTML 兜底源。
第二步:比版本
对已安装的应用,Obtainium 从系统读到当前版本号,与源上报告的版本做文本比对。两者要格式一致才比得了(例如 x.y.z),源字符串里 v、-beta 这类修饰会被剥掉再比;格式对不上时该应用的版本检测会被停用,只按"源上有新条目"提醒。详见版本检测详解。
第三步:拿安装包
判定有更新后,Obtainium 下载源提供的 APK。一个版本常附带多个安装包(不同架构、不同变体),可以用正则或架构筛选收敛成一个,否则每次都要手动挑,后台静默更新也会因此停摆,配置方法见添加页的通用选项。
检查的时机
- 后台定时:按设置页的间隔自动跑,机制见后台更新机制;
- 启动时:可在设置里开启;
- 手动:下拉刷新应用列表,或通过
obtainium://refresh深链触发。
仅跟踪(Track-Only)源没有 APK 可下,只提供"有新版了"的信号,其版本标识用的是链接哈希这类伪版本,见APKMirror 为什么只能跟踪。