如何加快android构建系统



一般来说,除了-jN选项外,是否有任何步骤/技巧来加速android构建?即使在内核中只有一行更改,运行'make bootimage', android构建系统也会扫描所有android .mk。有没有办法至少跳过这个?

通过参考build/core/Makefile,我们可以看到在构建Android时通过传递SHOW_COMMANDS=1来运行的命令序列,如下所示,

SHOW_COMMANDS=1 V=1 make bootimage -j1 -n >bootimage.txt 

我们可以从中提取我们的案例所必需的命令,并且我们可以将其放入脚本中进行构建。例如,bootimage.sh

你可以在这里找到加速方法的总结:http://oldwiki.cyanogenmod.org/wiki/Howto:_Speed_up_building

使用一个SSD和一个强大的16GB内存linux机器(不是VM)。

也有RAM驱动器的想法,这是疯狂的快,但我不确定它是否可能与空间的数量android需要构建。

正如Balamurugan A的回答所说,

如果调用make target(module name/droid), Android编译系统将扫描所有Android。Mk用于装载和搜索目标。这是make系统需要做的,以便为接下来的编译找到所有目标。

如果你只想编译一个模块,你可以使用mm/mmm。如果你想提高系统的编译速度,你可以打开CCache.

对于构建内核,这为我在Android L,M,N中节省了大量时间:-

m -j8 ONE_SHOT_MAKEFILE=build/target/board/Android.mk bootimage

最新更新