F-Droid 中文文档 下载 App

F-Droid 更新通知与签名密钥变更提醒

F-Droid 2.0 的新功能

F-Droid 2.0(Kotlin Compose 重写版本)新增了一个重要的安全功能:签名密钥变更提醒。当应用的开发者换了签名密钥时,F-Droid 会在更新前通知用户。

这个功能解决了一个长期以来的安全问题:恶意攻击者如果在某个应用更新中混入了自己签名的 APK,传统更新机制可能无法检测到。

为什么签名密钥会变更

签名密钥变更的常见原因:

正常情况下,开发者会在版本说明中解释密钥变更的原因。但用户很少会去看版本说明,所以 F-Droid 2.0 主动提醒。

签名变更时会发生什么

当 F-Droid 检测到即将安装的更新签名密钥和当前已安装版本不同:

  1. F-Droid 弹出一个明确的警告界面
  2. 显示当前版本的签名和新版本的签名对比
  3. 提示你「请确认这个变更是合法的」
  4. 因为签名不同,Android 会拒绝直接覆盖安装——你必须先卸载再安装

卸载再安装意味着什么

签名不同 → Android 拒绝安装 → 必须卸载旧版 → 安装新版。这意味着:

如何应对签名变更提醒

场景一:你信任这个开发者

开发者通过官方渠道(邮件、GitHub issue、社区公告)通知了密钥变更。你:

  1. 确认通知渠道是官方的
  2. 卸载旧版本(数据如有需要先导出备份)
  3. 安装新版本
  4. 重新配置应用

场景二:你不确定变更是否合法

你没有收到任何通知,突然出现签名变更提醒。建议:

  1. 去应用的源码仓库(F-Droid 详情页有链接)查看最近的 commit 和 issue
  2. 在 F-Droid 社区论坛或 Reddit 搜索是否有人讨论这个变更
  3. 如果找不到合理解释,暂时不要更新,保持当前版本

场景三:攻击者更换了签名

在最坏的情况下,攻击者可能劫持了某个应用的发布流程(比如获取了开发者的 GitLab 权限),替换了签名。F-Droid 2.0 的签名变更提醒就是为了拦截这种情况——攻击者无法让 F-Droid 静默更新,用户必然会被通知。

其他通知类型

F-Droid 还会通知:

这些通知共同构成了 F-Droid 完整的安全防御体系。