F-Droid 中文文档 下载 App

F-Droid 版本历史追踪:为什么你永远可以回退

F-Droid 的「防撤回」机制

传统应用商店的一个常见问题是:开发者发布了有 bug 的新版本,旧版本已经从商店中删除,用户被强制升级或被锁死在问题版本上。

F-Droid 的设计从根本上解决了这个问题:

这个设计被 F-Droid 社区称为「anti-rollback protection」(防撤回保护)。

版本历史包含什么

每款应用的详情页底部都有版本历史区域。每个版本记录包含:

字段含义
版本号如 1.2.3
构建时间这个版本何时编译
最低 API 等级需要的最低 Android 版本
架构支持arm64-v8a / armeabi-v7a / x86 / x86_64
大小APK 文件大小
签名哈希用于验证 APK 完整性
可重现状态是否通过独立重建验证
源代码快照构建时使用的源码 tarball

点击任意版本的 APK 链接可以直接下载。

版本回退的场景

场景一:新版本有回归 bug

开发者不小心发布了有问题的更新,你作为 F-Droid 用户可以:

  1. 进入该应用的 F-Droid 详情页
  2. 滚动到底部的版本历史
  3. 找到上一个正常工作的版本
  4. 卸载当前版本 → 安装旧版本

注意:Android 系统不允许降级安装(签名不匹配),所以需要先卸载再安装旧版。

场景二:旧设备跑不动新版本

应用不断升级可能提高最低 Android 版本要求,或者新版本更耗电。你可以锁定在某个能正常运行的历史版本。

场景三:测试新功能

F-Droid 仓库有时会收录 nightly build 或 alpha/beta 版本(这些通常有单独的版本号后缀)。你可以选择安装测试版尝新,再回退到稳定版。

场景四:被下架的应用

即使开发者从 F-Droid 仓库中移除了某款应用(可能是版权投诉或维护者不再维护),已下载索引的 F-Droid 用户仍然可以从本地索引中找到并安装它。这是因为仓库索引一旦同步到本地,F-Droid 客户端不会自动删除旧的索引条目。

版本历史和签名验证

每个版本历史中的 APK 都有独立的签名哈希。当你下载一个历史版本的 APK 时,F-Droid 仍然会执行签名和哈希验证——确保你拿到的 APK 与构建时完全一致。

这意味着即使某个版本是三年前发布的,你今天安装它时的安全保障与当初发布时相同。

注意事项

版本回退有一个限制:签名密钥变更。如果开发者换了签名密钥(有时是因为密钥泄露,有时是重新发布),新签名和旧签名不同。Android 不允许同包名不同签名的应用共存,所以你需要先卸载再安装。F-Droid 2.0 会在安装前提示这个情况。