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

2作者: nativeforks大约 1 个月前原帖
在2025年8月7日,许多在F-Droid上的Android应用程序开始出现新的构建问题。如果这些应用使用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以使其能够构建,但即便如此,由于AGP中的基线配置文件可重现性错误,F-Droid仍然构建失败。唯一的解决方法是禁用基线配置文件并发布另一个版本。 这导致在短时间内出现多个“维护”版本,令用户感到困惑,同时浪费了开发者的时间,仅仅是为了绕过开发者无法控制的基础设施问题。 参考资料: - 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