3

我一直在考虑将 Buck 用于一个大型项目,但我想知道是否有与 gradle 的构建变体和产品风格相当的有用的东西。

4

1 回答 1

3

对于调试与发布版本(即,中BuildConfig.java的常量),有android_build_config(): http: //facebook.github.io/buck/rule/android_build_config.html。如果你好奇,介绍它的提交详细解释了它的android_build_config()工作原理以及为什么它比 Gradle 有更高效的实现。具体来说,在 Buck 中,您可以同时并行构建调试和发布版本,但在 Gradle 中,您不能。

虽然目前没有记录,android_binary()但有参数resource_filter并将cpu_filters生成的 APK 限制为适当的资源。resource_filter可以是像['mdpi', 'hdpi']while一样的列表,cpu_filters也可以是像['arm', 'armv7', 'x86']. 目前,对于每个排列,您必须编写一个单独的android_binary()规则,这无疑比您在 Gradle 中定义事物的方式更加繁琐。我建议定义一个来生成所有android_binary()规则以帮助消除样板。我们正在努力使用内置规则使这更容易做到,这样开发人员就不必为这些东西创建自己的宏。

于 2014-09-23T17:18:05.583 回答