F-Droid 构建服务器由于 CPU 过时,无法构建现代 Android 应用。
在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://gitlab.com/fdroid/admin/-/issues/593
- Catima example: https://github.com/CatimaLoyalty/Android/issues/2608
- MBCompass case: https://github.com/CompassMB/MBCompass/issues/88