F-Droid 特权扩展:Root 或系统集成带来的静默安装
什么是特权扩展
F-Droid Privileged Extension 是一个独立的 APK,它为 F-Droid 客户端提供系统级权限,让 F-Droid 可以:
- 后台静默安装应用(不需要系统安装器弹窗)
- 后台静默更新应用
- 绕过 Android 的「未知来源」安全机制
需要什么条件
特权扩展之所以有「特权」,是因为它需要被安装到 Android 的 /system/priv-app/ 目录中。这个目录中的应用被系统视为「特权应用」,可以申请普通应用拿不到的特殊权限。
要把特权扩展装进 /system/priv-app/,你需要以下条件之一:
| 方式 | 需要 |
|---|---|
| Root 权限 | Magisk / SuperSU 等 root 方案 |
| 自定义 ROM 预装 | LineageOS / CalyxOS / /e/OS 等 |
| OTA 刷入 | Android 11 及更早版本 |
| ADB | 不推荐,Google Advanced Protection 会拦截 |
Android 12+ 的变化:Google 在 Android 12 中收紧了 OTA 刷入特权应用的支持,所以官方文档不再推荐 OTA 方式。
安装后的体验变化
没有特权扩展时,F-Droid 的每次安装或更新都需要:
点击安装 → F-Droid 下载 APK → 验证签名 → 弹出系统安装器界面 → 用户点击「安装」→ 等待 → 完成
有特权扩展后:
F-Droid 下载 APK → 验证签名 → 特权扩展静默调用系统安装 API → 完成
完全不弹窗,不需要用户确认。你甚至可以设置 F-Droid 自动下载并安装所有更新,全程后台化。
特权扩展的权限
特权扩展通过 priv-app 权限机制拿到了几个关键权限:
org.fdroid.fdroid.privileged.USE_SERVICE
org.fdroid.fdroid.privileged.INSTALL_PACKAGES
org.fdroid.fdroid.privileged.DELETE_PACKAGES
org.fdroid.fdroid.privileged.ENFORCE_UPDATE_OWNERSHIP
这些是 Android 框架定义的系统权限,普通应用无法申请。
与自定义 ROM 的集成
很多隐私友好的自定义 ROM 直接预装了 F-Droid + 特权扩展:
LineageOS for microG — 预装 F-Droid 客户端和特权扩展,开箱即用,所有更新自动完成。
CalyxOS — 同样预装 F-Droid + 特权扩展,配合 Calyx Institute 的隐私承诺。
/e/OS — e Foundation 的操作系统,预装 F-Droid 和更多隐私工具。
如果你刷了这些 ROM,不需要单独安装特权扩展,它已经在系统里了。
特权扩展的安全权衡
特权扩展虽然方便,但也带来了安全权衡:
好处:
- 不再被每次安装确认弹窗打扰
- 更新完全自动化
- 可以关闭 Android 的「未知来源」开关,减少攻击面
风险:
- 如果 F-Droid 客户端本身被攻破,攻击者可以静默安装恶意应用
priv-app目录下的应用权限很高,一旦出问题影响面大
不过,F-Droid 社区对这个风险有清晰的认识:特权扩展只安装 F-Droid 自己,而 F-Droid 客户端本身是经过源码审查、官方构建、可重现验证的。攻击面相比「你自己手动从各种渠道装 APK」其实更小。
替代方案:Android 包安装器 API
F-Droid Basic 2.0(Kotlin Compose 版本)开始使用 Android 标准的包安装器 API(Package Installer API)。这个 API 在 Android 12+ 上可以让应用申请安装权限并静默安装,而不需要特权扩展。
这意味着未来的 F-Droid Basic 可能不再需要特权扩展——直接通过 Android 的标准 API 就能实现静默安装。