由于过时的 CPU,F-Droid 构建服务器无法构建现代 Android 应用程序。

2作者: nativeforks9 个月前
2025年8月7日,F-Droid上许多安卓应用开始出现新的构建问题。如果这些应用使用了Android Gradle插件(AGP)8.12.0或Gradle 9.0,就无法发布更新。 根本原因在于:Google在AGP 8.12.0中引入的新的aapt2二进制文件开始要求使用F-Droid构建农场硬件不支持的CPU指令(SSE4.1,SSSE3)。这与2021年AGP 4.1.0的问题类似,但现在又出现了,并且影响了数百个应用。 举例来说,我的开源应用MBCompass就遇到了这个问题。我降级到AGP 8.11.1和Gradle 8.13才得以构建,但即便如此,F-Droid仍然因为AGP中的基线配置文件可重现性错误而失败。唯一的解决方法是禁用基线配置文件,并发布另一个版本。 这导致在短时间内出现了多个“维护”版本,这让用户感到困惑,也浪费了开发人员的时间,而这仅仅是为了解决开发人员无法控制的基础设施问题。 参考资料: - F-Droid 管理员问题:https://gitlab.com/fdroid/admin/-/issues/593 - Catima 示例:https://github.com/CatimaLoyalty/Android/issues/2608 - MBCompass 案例:https://github.com/CompassMB/MBCompass/issues/88
查看原文
On August 7, 2025, a new build problem started hitting many Android apps on F-Droid. Many Android apps on F-Droid have been unable to publish updates if they use Android Gradle Plugin (AGP) 8.12.0 or Gradle 9.0.<p>The root cause: Google’s new aapt2 binary in AGP 8.12.0 started requiring CPU instructions (SSE4.1, SSSE3) that F-Droid’s build farm hardware doesn’t support. This is similar to a 2021 AGP 4.1.0 issue, but it has returned, and now affects hundreds of apps.<p>As an example, my open-source app MBCompass hit this issue. I downgraded to AGP 8.11.1 with Gradle 8.13 to make it build, but even then, F-Droid failed due to a baseline profile reproducibility bug in AGP. The only workaround was disabling baseline profiles and pushing yet another release.<p>This has led to multiple “maintenance” versions in a short time, confusing users and wasting developer time, just to work around infrastructure issues outside the developer’s control.<p>References:<p>- F-Droid admin issue: https:&#x2F;&#x2F;gitlab.com&#x2F;fdroid&#x2F;admin&#x2F;-&#x2F;issues&#x2F;593 - Catima example: https:&#x2F;&#x2F;github.com&#x2F;CatimaLoyalty&#x2F;Android&#x2F;issues&#x2F;2608 - MBCompass case: https:&#x2F;&#x2F;github.com&#x2F;CompassMB&#x2F;MBCompass&#x2F;issues&#x2F;88