随着Android版本的更迭,尤其是Androd10和Android11以上源码的编译,单编模块的时间也特别慢,每次都需要半个小时甚至更长,因为每次单编都会重新加载所有mk文件,再生成ninja编译,此过程很慢,实际编译过程很快。
在高版本android系统的编译中,我们可以采用以下方式进行快速编译,跳过遍历所有mk文件
./prebuilts/build-tools/linux-x86/bin/ninja -f out/combined-xxx.ninja
xxx为对应的lunch项,最后加上需要编译的模块名
比如编译Setting
./prebuilts/build-tools/linux-x86/bin/ninja -f out/combined-xxx.ninja Settings -j32
再比如单独编译framework
./prebuilts/build-tools/linux-x86/bin/ninja -f out/combined-xxx.ninja framework-minus-apex -j32
或者编译services
./prebuilts/build-tools/linux-x86/bin/ninja -f out/combined-xxx.ninja services -j32