Obtainium 使用指南:不经过应用商店,从 GitHub 等发布页安装并更新安卓 App

手机软件15小时前发布 一方
0 00

Obtainium 是一个开源的安卓应用安装与更新工具,包名 dev.imranr.obtainium,以 GPL-3.0 许可发布。它把 GitHub、GitLab、F-Droid 等发布页当成更新源:粘贴一个 release 页面地址,它负责比对版本、下载 APK、唤起系统安装器,出现新版本时发通知。适用对象很明确——只在项目页发 APK、没有上架应用商店的应用。

Obtainium 是什么:把发布页变成更新源

安卓应用通常不自带更新功能,默认由应用商店在后台完成升级。只在项目页发 APK 的应用因此处境尴尬:用户要么定期回项目页看有没有新版,要么一直停在旧版本。官方 Wiki 把它的目标写得很直白:把“从来源网站下载并安装更新”这件事自动化。

它的工作方式接近一个带版本比对能力的下载器。添加应用时你给的是一个网址,之后每次检查都以该页面为准;地址填错,后面的检查全是白做。这也是它和商店类工具的根本差别:商店知道每个包该是什么样,Obtainium 只认你给的那一页。

当前版本是 v1.7.3,2026 年 10 月 25 日发布。F-Droid 在 10 月 27 日收录同一版本,标注要求 Android 8.0 或更高。截至 2026 年 10 月 29 日,GitHub 仓库页显示 21.0k star、663 个 fork。

Obtainium 的 GitHub 仓库首页,展示安装说明、来源清单与版本信息
截图来源:github.com(2026-10-29)

支持的来源:从代码托管到第三方商店

README 把来源分成三类:开源托管与仓库、第三方商店或构建平台、特定应用专属来源,另有直链 APK 与 HTML 兜底。按类别看比按数量看更有意义,因为不同类别的可靠性差得远。

类别代表来源实际表现
开源托管与仓库GitHub、GitLab、Forgejo(Codeberg)、SourceHut走 release 接口,字段规整,稳定性较好
开源应用仓库F-Droid、第三方 F-Droid 仓库、IzzyOnDroid直接读仓库索引,能按设备架构筛选 APK
第三方商店APKPure、Aptoide、Uptodown、华为应用市场、腾讯应用宝、三星 Galaxy Store、RuStore多数有公开接口,少部分依赖页面解析
只跟踪不下载APKMirror、RockMods只提醒有新版本,下载要自己去站点完成
兜底方案直链 APK、任意带 APK 链接的 HTML 页面靠抓取,页面改版后可能失效

APKMirror 与 RockMods 在 README 里被标为 Track-Only,含义是只发现新版本并提醒,下载仍要自己去站点完成。第三方 F-Droid 仓库和 IzzyOnDroid 归在开源仓库这一类,添加方式与 F-Droid 官方仓库一致。README 里还有 itch.io、SourceForge、Jenkins Jobs、CoolApk、LiteAPKs、Telegram 与 Neutron Code 等条目,覆盖面比多数人预想的宽。

参数不必死记。项目维护了一个众包配置站 apps.obtainium.imranr.dev,收录社区整理好的添加参数。遇到版本号命名混乱、APK 文件名不规范的项目,先去那里搜一下能省不少调试时间。

从零上手:添加应用并设好更新检查

安装 Obtainium 本身有三条路:GitHub Releases、IzzyOnDroid 和 F-Droid。F-Droid 版包名是 dev.imranr.obtainium.fdroid,与 GitHub 版共用同一套签名证书,官方说明这是因为采用了可复现构建。

  1. 首次启动时允许通知权限,并把系统的电池优化设为不受限制,否则后台检查容易被系统掐断。
  2. 切到 Add App 标签页,在 App source URL 里粘贴发布页地址,例如 https://github.com/用户名/仓库名/releases。
  3. 来源类型一般能自动识别,识别不准时手动指定;再按项目发版习惯调整选项。
  4. 常用选项有四个:只认 latest 标记、包含预发布、用正则过滤版本名、只跟踪不下载。
  5. 点 Add 后首次安装会跳到“安装未知应用”页面,需要给 Obtainium 打开允许开关。
  6. 到 Settings 里设后台检查间隔,并决定是否只在 Wi-Fi 或充电时检查、是否开机检查。

后台检查默认走系统的 WorkManager,省电但可能被厂商的省电策略推迟;想更稳可以改用前台服务,代价是常驻一条通知,并且需要 Android 11 以上。

GIGAZINE 的实测记录了一个常见卡点:给 PhotonCamera 添加 GitHub 地址后报错 No suitable release was found,原因是该项目的每个 release 都标了 Pre-release。打开 Include prerelease 再添加就正常了。另一类问题出在版本号本身:系统报告的版本与来源给出的版本格式不一致时,版本检测会被关闭,单个应用的选项里可以改用版本代码或发布日期当版本号,绕开这个限制。

换机时用 Import/Export 标签页导出配置,新设备导入即可,不必逐个重加。这份配置文件也可以分享给别人,算是它比手动侧载省事的地方。

权限与风险:它拿到的权限比普通应用多

F-Droid 的权限页把 Obtainium 申请的权限逐条列出,其中几条值得单独看:查询所有已安装应用、请求安装与卸载应用包、在没有用户操作的情况下更新它此前安装的应用、运行前台服务、开机自启动、读写共享存储、发送通知。另有 Shizuku 与 Dhizuku 的接口权限,用于走另一种安装通道。

这些权限是功能决定的,不是随手多要。但反过来说,能安装应用就意味着它能把任意 APK 送进系统安装器。所以决定安全性的不是 Obtainium 本身,而是你填进去的那个来源地址是否可信。

  • 没有商店审核。应用名、图标、仓库名都可能被仿冒,山寨仓库和假官网在开源圈并不少见。
  • 靠抓取的来源会随页面改版失效,失效时可能匹配到旧版本或错误文件。
  • GitHub 未认证接口有速率限制,应用多了容易触发;官方支持填个人访问令牌,但令牌存在本地,别外泄。
  • 自动更新绕过了商店的恶意软件扫描,被投毒的更新不会被拦下。
  • 预发布版和夜间构建本身不稳定,把开关一直开着容易遇到半成品。
  • 签名不一致时系统会拒绝覆盖安装,F-Droid 版和同款应用的 GitHub 版签名通常就不同;卸载重装又会丢数据,遇到这类报错先查签名。

官方给了两条核对线索:包名与签名证书的 SHA-256 指纹,以及用于校验 APK 哈希的 PGP 公钥。指纹在 README 和 Wiki 都能查到,安装前对一遍,比看图标和名字可靠得多。安卓上给应用开无障碍权限做自动化的工具,站内也写过 GKD,权限这一环的判断逻辑是相通的。

它不替代应用商店

Obtainium 没有应用审核流程,也不做恶意代码扫描。它做的事是把“手动下载 APK”变成“自动检查并提示安装”,判断来源是否可信这一步始终留给你。把它当成应用商店的替代品,是用错了工具。

场景建议
开源应用只在 GitHub 或 F-Droid 发版适合,正是它的设计目标
想跟进预发布与夜间版适合,但要接受不稳定的代价
设备没有 Google 服务适合,可绕开 Play 商店依赖
银行、支付、社交类应用不适合,来源与合规都无法保证
需要订阅、退款、家庭共享不适合,这些能力只在商店体系内
不愿判断来源是否可信不适合,用系统商店更省心

它和 F-Droid 客户端也不是替代关系。F-Droid 官方仓库有构建与签名流程,Obtainium 覆盖面更宽,但少了这层把关。两者可以并存:F-Droid 仓库里的应用交给 F-Droid 客户端,只在项目页发版的应用交给 Obtainium。

站内介绍过的 QtScrcpy 投屏 是把手机画面送到电脑,Obtainium 解决的是另一头的安装与更新,同一台手机上这类工具常常一起用。至于不装 App 就能传文件的方案,站内 decimen 提供了另一种思路。

常见问题

装了 Obtainium 还需要 F-Droid 吗

看你装什么。只用 F-Droid 官方仓库的应用,F-Droid 客户端已经够用;要管 GitHub、GitLab 上发布的应用,或者想统一在一个列表里看更新,Obtainium 更合适。

为什么添加时报 No suitable release was found

多半是该项目的所有 release 都标了预发布,或者版本名不符合解析规则。先打开 Include prerelease,再检查是否需要用正则过滤版本名。

它真的会自动更新吗

取决于机型和系统限制。静默安装需要 Android 12 及以上、当前版本是由 Obtainium 装上的,并且已经开启后台更新;其余情况是下载后弹出安装确认,需要点一下。APKMirror、RockMods 这类只跟踪的来源不会自动下载。

换手机怎么迁移

旧机在 Import/Export 里导出配置文件,新机导入后再逐个确认安装。已装应用的数据不会跟着走,需要各自备份。

© 版权声明

相关文章