Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux kernel 如何加快android构建系统_Linux Kernel_Android Build_Android Kernel - Fatal编程技术网

Linux kernel 如何加快android构建系统

Linux kernel 如何加快android构建系统,linux-kernel,android-build,android-kernel,Linux Kernel,Android Build,Android Kernel,一般来说,除了-jN选项外,是否还有其他加快android构建的步骤/技巧。 即使对内核进行一行更改,运行“makebootmimage”,android构建系统也会扫描所有android.mk。有什么方法可以至少跳过这一步吗?在这里,您可以找到加速方法的摘要: 使用SSD和强大的16GB RAM linux机器(而不是VM) 还有一个想法是RAM驱动器速度非常快,但我不确定android构建所需的空间是否可能。通过参考build/core/Makefile,我们可以看到构建时运行的命令序列,在

一般来说,除了-jN选项外,是否还有其他加快android构建的步骤/技巧。
即使对内核进行一行更改,运行“makebootmimage”,android构建系统也会扫描所有android.mk。有什么方法可以至少跳过这一步吗?

在这里,您可以找到加速方法的摘要:

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


还有一个想法是RAM驱动器速度非常快,但我不确定android构建所需的空间是否可能。

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

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

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

正如巴拉穆鲁甘A的回答所说

如果调用
生成目标(模块名/droid)
,Android编译系统将扫描所有Android.mk以加载和搜索目标。这是make系统需要做的事情,以找到后续编译的所有目标


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

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


m-j8 ONE_SHOT\u MAKEFILE=build/target/board/Android.mk bootmimage

您是否尝试使用“mmm”命令?mmm通过将路径作为参数传递,只能编译单个libs/二进制文件,好的,它无法直接编译构建目标,是的。“如果您调用make target(模块名/droid),Android编译系统将扫描所有Android.mk以加载和搜索目标”。如何避免扫描?而且,我认为在mmm和CCache上,斯科佩斯特已经提出了同样的建议,我也回答了他。@BalamuruganA谢谢你的建议。在这里,我想提供更多关于CCache的信息。:-)