3

通常,除了 -jN 选项之外,是否有任何步骤/技巧可以加快 android 构建速度。即使是内核中的单行更改,运行“make bootimage”,android 构建系统也会扫描所有 Android.mk。至少有什么方法可以跳过这个吗?

4

4 回答 4

3

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

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

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

于 2014-06-23T17:37:40.870 回答
1

在这里您可以找到加速方法的摘要:http://oldwiki.cyanogenmod.org/wiki/Howto: _Speed_up_building

使用 SSD 和强大的 16GB RAM linux 机器(不是 VM)。

还有 RAM 驱动器的想法,它非常快,但我不确定它是否可能与 android 构建所需的空间量有关。

于 2014-06-22T08:03:06.957 回答
0

正如 Balamurugan A 的回答所说,

如果调用make target(module name/droid),Android 编译系统将扫描所有 Android.mk 以查找加载和搜索目标。这是 make 系统需要做的找到所有目标以进行后续编译。

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

于 2014-06-28T15:19:05.767 回答
0

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

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

于 2017-06-02T23:56:04.990 回答