F-Droid 2.0:十年后最大的一次重写——HN 评论解读
原文概要
2026 年 9 月 24 日, F-Droid 项目发布 2.0 版——十年来最大的一次客户端重写。整个 app 从 Java 迁到 Kotlin, UI 用 Jetpack Compose 重画, 经过 14 个测试版本才推到正式通道。
新版三大主屏定位为 Discover / Search / My Apps: 类目整合进 Discover, “我的应用” 单独占一屏管理更新和问题, Settings 和 Nearby Swap 退到顶栏。Discover 现在高亮”新加入”和”最近更新”, 并新增 most downloaded 区块, 不依赖追踪算法推荐。游戏类目从 1 个扩到 17 个子类, 搜索现在能查描述、类目、CJK 翻译内容。
安装体验是这次的另一个硬卖点。F-Droid 2.0 接入了 Android 14 的 “session installer” 和 “request install approval” API, 用户点安装后先确认, 再下载, 把流程压到接近 Play Store 的响应速度——这在以前只有拿到 F-Droid Privileged Extension (FPE) 才行, 而 FPE 在 2.0 里被显式放弃支持。
文章花了长篇讨论砍掉的旧功能: Tor 自动检测 (改用 TorVPN)、伪装成计算器的 “app hiding” (现在只换图标, 明确告诉用户伪装有极限)、以及 Ripple 触发的”一键擦除” panic 功能 (暂时砍掉, 等社区反馈再决定要不要复活)。
来源: HN 热门榜 (/best) 与 F-Droid 官方博客。
讨论焦点
1. 旧 UI 把人赶跑了十年
讨论的第一个爆点几乎没争议: 老版本 UI 难看, 用户早就跑光了。
“I have been using droid-ify on GrapheneOS for a few years now; because F-Droid ui is terrible, and the privilege extention has been such a pain to configure and get working without issues on my previous lineageOS phone. Happy to see this major overhaul; and i’m glad the FPE is being phased out.” — silverbluep [c:49832443] (我在 GrapheneOS 上用 Droid-ify 好几年了, 因为 F-Droid 的 UI 太难看, FPE 在我之前的 lineageOS 机器上配置得想骂人。看到这次大改很高兴, FPE 被淘汰我也赞成。)
“After 10 years of F-droid, I’m bummed I only found droid-ify a couple of months ago. Sooo much better than F-droid.” — PorciiVorbesc [c:49832613] (用 F-Droid 十年, 几个月前才发现 Droid-ify, 比官方版好太多。)
“I’ll switch back to the official app, congrats to the contributors!” — outadoc [c:49832308] (我要切回官方版了, 恭喜贡献者们。)
跑路的不止 Droid-ify。讨论里点名的替代品有 NeoStore、Aurora Droid、Obtainium (直接装 GitHub release)、Droid-ify、F-Droid Classic、Aurora Store (匿名装 Play 应用)。八楼有人列出自家依赖: Firefox、Syncthing、Termux、NewPipe、Librera 全在 F-Droid 上, 但他妈的银行、地图、YT-Music 必须用 Play。F-Droid 在他手里不是”应用商店”, 是”Play 替代不了的自由软件补给站”。
这条线的潜台词很清楚: F-Droid 失去的不是”市场份额”, 而是”前端流量入口”。后端的仓库生态还在 (Aurora、Obtainium、NeoStore 都在用 F-Droid repo), 但前端被一个个分叉吃掉了。这次重写 UI, 是在抢回入口。
2. “sideloading” 这个词本身就不干净
讨论从 F-Droid 的 UI 一路岔到了 Google 的下一年政策, 而后者才是真正的火药桶。
“That newspeak term should just disappeared. It only contributes to the image that downloading and installing an app is something that is outside the ‘happy path’. Installing software of your choice on a device you own shouldn’t be demonised” — McDyver [c:49833837] (”Sideloading” 这种新话术该消失。它只会强化”装应用不在 happy path 里”的印象。在自己的设备上装自己选的软件, 不该被污名化。)
“Installing software is installing software, signed or unsigned, app store or not.” — folkrav [c:49834328] (装软件就是装软件, 签不签名、走不走商店都一样。)
反方 (以及反方的反方) 的链条长到可以单独成文:
“Surely you see how installing unvetted software on a device that holds your entire life, bank info, photos, etc. probably shouldn’t be part of the ‘happy path’ for most people.” — ragequittah [c:49834177] (装未审核的软件在装”整个生活、银行卡、照片”的设备上, 对大多数人来说不该是 happy path。)
“That device was called personal computer for decades, and the world didn’t end for the simplicity of installing software on it.” — g-b-r [c:49834537] (这种设备叫个人电脑, 用了几十年也没因为能装软件就世界末日。)
“The world may not of ended but to of people have been hurt by malware ruining their computer, cryptolocking all of their company’s files for ransom, stealing all of your login credentials, stealing cryptocurrency, taking secret photos with your webcam, screen recording what you are doing on your computer, etc. The ‘personal computer’ has a terrible track record.” — charcircuit [c:49834619] (世界没末日, 但无数人被勒索软件、盗号、木马、偷拍毁过。”个人电脑”黑历史一箩筐。)
“Block installs outside of playstore ON/OFF (ON by default) isn’t any less secure. ‘Sideloading’ is scaremongering.” — catlikesshrimp [c:49834381] (”禁止商店外安装” 默认开, 安全性并没真正增加。”Sideloading” 就是吓唬人。)
“I don’t think malware is the problem, as most malware comes directly via Google’s ecosystem carried by ads. Just recently I had to uninstall some app from the play store since it tried to distribute malware through scary pop-ups and had it replaced with something from f-droid for someone I know.” — OroPla [c:49834702] (我不觉得恶意软件是大问题, 因为大部分恶意软件就是通过广告从 Google 自家生态传进来的。前几天我还替朋友卸了一个 Play Store 里靠弹窗推木马的 app, 换成了 F-Droid 的。)
“Google’s own Play Store is filled with outright malware too, no ads needed. The idea that Google has to control what people are allowed to install on their phones isn’t really for the protection of anyone except Google.” — autoexec [c:49835047] (Google 自家 Play Store 里就满是赤裸裸的恶意软件, 还不需要广告。Google 必须控制人们能在手机上装什么的论调, 不是为了保护除了 Google 之外的任何人。)
整段对话的共识是: “sideloading” 这个词是把”装软件”重新包装成”非正常操作”的修辞策略, 而 Google 推动 24 小时锁喉流程 (见下) 是把这个修辞落地成机制。
3. Google 的 “advanced flow”:24 小时锁喉
讨论中描述最具体的就是这条 24 小时延迟:
“you will be able to still install apps from stores like F-Droid, but you have to go through a manual ‘advanced flow’ which will most likely make you wait 24 hours before installing it and make you go through other hoops. In short, google has referred to this as ‘increased user friction’ to try and deter people from doing this. Essentially not making it impossible; just really frustrating for users so they get sick of the process and just install verified apps through them.” — burningChrome [c:49833942] (你还是能从 F-Droid 这类商店装 app, 但要走手动 “advanced flow”, 大概率要先等 24 小时再装, 外加别的流程。简单说, Google 把这叫”增加用户摩擦”, 目的就是劝退。能做不? 能。就是让人烦到干脆去装认证版。)
“The current lockdown plan is that you’ll need to wait 24 hours before installing the first unauthorized app, right? So probably exactly the same as it is now except setting up a phone will take 24 hours longer.” — someonebaggy [c:49834768] (目前的封锁方案是装第一个未授权 app 前要等 24 小时, 对吧? 所以等于现在这样, 只是新机设置要多花 24 小时。)
“If I’m a developer I also need to wait 24hrs to test my app?” — krzyk [c:49834894] (开发者测试自己的 app 也要等 24 小时?)
反对声音很短:
“Isn’t it possible, however complicated, for users to undo the lockdown to install an app? The required 9 steps are noted at https://keepandroidopen.org/ for devices that use Google Play Services.” — OutOfHere [c:49833030] (用户能不能绕过去装? 能, 就是麻烦。Google Play 设备要 9 步, keepandroidopen.org 上有步骤。)
“no root on graphene, non starter” — Brian_K_White [c:49833962] (Graphene 上没 root, 这套就别想了。)
“Switch to GrapheneOS or HarmonyOS” — rurban [c:49833623] (换 GrapheneOS 或 HarmonyOS。)
关键张力在于: F-Droid 2.0 的整个 redesign 撞上了 Google 的下一年政策收紧。F-Droid 在 UI 上追 Play Store, 而 Google 在政策上把 F-Droid 推回 Play Store 之前的 2009 年。
4. FPE 退役:用 Android 14 的 API 替代
F-Droid 团队主动砍掉了 FPE (Privileged Extension), 这是讨论里的技术焦点之一。
“When Google added the ‘session’ installer to AOSP, we thought it would replace F-Droid Privileged Extension (FPE). So we stopped development on it. The answer now is that the ‘session’ installer mostly replaces FPE, but not fully. So we’re exploring reviving development” — eighthave [c:49835864] (Google 把 session installer 加进 AOSP 时, 我们以为它会替代 FPE, 就停掉了 FPE 开发。结论是 session installer 多数场景能替代 FPE, 但不能完全替代。所以我们正在评估要不要重启 FPE 开发。)
“I wonder how they got access to the ordinarily Google-locked ‘session’ installer. Did Google open it up because of EU rules? I doubt it.” — someonebaggy [c:49834867] (我很想知道他们怎么拿到原本 Google 锁死的 session installer。是因为欧盟法规吗? 我不信。)
“The support for that was added to Android 14 in 2023: https://developer.android.com/about/versions/14/features#request-install-approval F-Droid took until now to use those APIs.” — izacus [c:49835727] (这个能力 Android 14 在 2023 年就加了, 见 Android 开发者文档。F-Droid 用了三年才接上。)
技术层面, 这次切换对 99% 用户是好事: 不用再手动配 FPE, 系统应用商店级别的一致更新体验直接到手。但第八楼那条 “session installer 不能完全替代 FPE” 才是真正的警钟——Android 14 的 API 是 Google 设计给 Google 自己的, F-Droid 只是恰好能用。一旦 Google 觉得它被滥用, 收回 API 是合规可做的。
5. F-Droid 只是支点, 真正的战场在反垄断
讨论里最有哲学深度的一条线, 是 echelon 的回答:
“Because nobody uses it except a handful of uber-nerds who can put up with wasting hours of time for ‘altruism’. The answer to freedom isn’t another marketplace. It’s legislation that requires Google and Apple to allow web installs without scare walls or deeply hidden permission toggles. You should be able to just download an app. And Grandma should be able to do it. There’s nothing insecure about it in a world of sandboxing, permissions, scanning, blacklisting, etc. When the tech giants are more than happy to sell ads to malware, you know their ‘safety’ stance is just economic moat protectionism.” — echelon [c:49832651] (除了少数技术爱好者, 没人用 F-Droid, 他们只是为”利他”耗费大量时间。自由不是另一个市场, 而是立法要求 Google 和 Apple 允许网页直接装, 不需要恐吓墙或深层隐藏的权限开关。你应该能直接下载一个 app, 奶奶也应该能。在沙箱、权限、扫描、黑名单齐备的世界里这没什么不安全。科技巨头乐意为恶意软件打广告, 你就知道他们说的”安全”只是经济护城河的保护主义。)
立刻有人点反对:
“This seems weirdly derogatory towards people that use F-Droid.” — rpdillon [c:49832707] (这对 F-Droid 用户很冒犯。)
但也有人接话:
“Even if you 100% trust Android’s sandboxing and permissions, which is… not a choice I would personally make, I like it when my apps don’t have scams or ads internally, either. I’m not worried about Grandma downloading any app off F-Droid; I am a little concerned about what happens if she can download any app being pushed by any random website.” — yjftsjthsd-h [c:49832891] (即使你完全信任 Android 沙箱和权限——我个人没这个胆——我也希望 app 内部没广告没诈骗。我不担心奶奶装 F-Droid, 我担心她能随便从某个网站装 app。)
echelon 后来补了一段 (因 rate limit 单独发):
“F-droid does not matter in the grand scheme of things. It’s not the point. The point is the app store monopoly. That there are only two platforms and that both are almost completely locked down. F-droid users don’t even see that Google is purposefully allowing this as an antitrust sponge in their calculus. Google doesn’t mind because 0.0001% of their users will install this. If they had a sense that the regulators wouldn’t bother them, they’d just as well close this loophole. And they probably will eventually.” — echelon [c:49832651] (F-Droid 在大局里不重要。重点是 app store 垄断: 只有两个平台, 都被锁死了。F-Droid 用户没看到 Google 故意把 F-Droid 当反垄断海绵: 0.0001% 用户装这个, Google 不在乎; 一旦 Google 觉得监管不会动手, 这个口子随时会被封。)
这是整场讨论里最清醒的一条线: F-Droid 2.0 UI 做得再漂亮, 它能救的也只是 0.0001% 用户的”前端体验”, 而 Google 真正想锁的是后端的”装机权限”。F-Droid 在前线赢得再多, 后方政策一刀切就归零。
典型观点一览
| 立场 | 用户 | 一句话 |
|---|---|---|
| 🟢 早跑了 | silverbluep | UI 太难看, 几年前就转 Droid-ify |
| 🟢 喜迎改版 | outadoc | 重写完终于可以切回官方版 |
| 🟡 替代生态 | dizhn | 我现在直接 Obtainium + 装 GitHub release |
| 🔴 词义政治 | McDyver | “sideloading” 这个词就是脏话 |
| 🔴 拒绝 24h | burningChrome | Google 把”劝退”包装成”防诈骗” |
| 🔴 真正战场 | echelon | 战场在反垄断立法, F-Droid 只是支点 |
| 🔵 现实派 | folkrav | 装软件就是装软件, 别给加戏 |
| 🔵 教育失败 | halostatue | “教育用户别装”在 Windows 上就没成功过 |
| ⚪ 技术吐槽 | izacus | Android 14 早就有 session installer, F-Droid 拖到 2026 才用 |
| ⚪ 抱怨 AI 写文 | Thev00d00 | 官方文章看着像 LLM 写的 |
总体情绪
讨论呈现两极分化: 一极是”重写成功, 终于可以回家了”的实用派 (silverbluep, outadoc, PorciiVorbesc); 另一极是”UI 改不改不重要, Google 下一步就能把 F-Droid 踢出场”的悲观派 (echelon, burningChrome, creatonez)。中间是技术深挖的 izacus、eighthave 几位, 把 session installer 和 FPE 的取舍讲得很透。
最大的讽刺是: 官方公告第二条是”AI 不是写手, F-Droid 不禁 AI”, 但第八条评论直说”Urgh such a shame to be written by LLM”——社区对 LLM 生成官方稿件的反感, 与官方对 LLM 的宽容形成对比, 这本身就是一个值得单独讨论的话题。
整场讨论最该记住的一句话, 不是 F-Droid 的 UI 改了什么, 而是 echelon 的那一句:
“Google 把 F-Droid 当反垄断海绵, 0.0001% 的口子随时会关。”
F-Droid 2.0 是支点的支点。它的成败不在 UI, 在 Google 的政策桌。
引用帖子
| # | 标题 | 链接 |
|---|---|---|
| 1 | F-Droid 2.0 (HN 讨论) | https://news.ycombinator.com/item?id=49831968 |
| 2 | F-Droid 2.0 官方博客 | https://f-droid.org/en/2026/09/24/f-droid-2.0-a-new-chapter-for-android-freedom.html |
| 3 | Android session installer 文档 | https://developer.android.com/about/versions/14/features#request-install-approval |
| 4 | keepandroidopen.org | https://keepandroidopen.org/ |
本摘要由 AI 模型辅助生成:minimax-cn-coding-plan/MiniMax-M3