Buck: 一个Android构建工具

Buck是一个面向Android的,鼓励构建小型的,可重用的包括源代码和资源的模块的构建系统。

特性

Buck可以帮助你做这些事情:

  • 加速你的Android构建。Buck充分发挥多核处理器的优势,并行地构建独立的模块。未来,它会通过追踪没有变化的源文件,减少增加的构建实践,最少化需要重新构建的资源。
  • 对于不支持拿来就用的Android Ant编译脚本,引进ad-doc构建系统。
  • 在构建系统里保持生成构建的逻辑,而不是需要另外的系统生成构建的文件。
  • 基于你的构建规则生成一个Intellij 项目,这让Buck在本地的IDE和持续集成系统里表现的都很好
  • 让你的编译依赖有意义
  • 理解生成APK时候后台做的事情

速度是Buck最初的关注点。在Facebook,我们发现Buck速度比Ant快2倍,我们正让它更快。

Buck是如何运行的

Buck有三个基本观念

  • 一个构建规则是从一些输入文件产生一个输出文件的过程
  • 一个构建目标是一个编译规则的字符串的标识符,它可以理解为使用Buck的一个项目的“URI”
  • 一个构建文件定义了一个或多个编译目标。比如Make是Makefile,在Buck里面,这些文件名字是BUCK,使用Buck的项目应该有多个BUCK文件。

每个构建规则可以有0个或多个相关的编译依赖,或者deps。这些编译依赖组成了一个有向图,Buck要求是无环的。

当根据编译规则输出的时候,所有规则的可传递的编译依赖首先构建,意思是这个图是倒置的风格,这让构建图更容易被推导,这可以让Buck确定可以被并行构建的子图,并且确认需要被重新构建的最小构建规则集合。

Buck适合我么

Buck是为一个仓库构建的多重传递而不是跨多个仓库设计的。我们的经验是在一个仓库里维护所有的依赖可以让所有开发者更轻松的有所有代码的正确版本,并且简化原子提交。

如果你构建多个应用,或者你构建一个应用,但是用到了一些样例应用,Buck就很适合你了。看看快速入门,尝试看看Buck如何帮助你组织Android项目,以及其前所未有的构建速度。

Project Versions

Table Of Contents

Previous topic

快速入门

Next topic

下载和安装Buck

This Page