Android10的Soong编译系统
作者:互联网
一、概述
Android 10的Build系统叫Soong,Soong之前,Android的编译系统是Make——意思是基于Makefile文件的编译系统。Soong大概在Android 7就崭露头角了。Soong的宏伟目标是干掉Make,但到Android 10,这个看起来比较容易的小目标也还未完全实现。
这个是Soong的编译流程图:
Soong编译系统下,原本打算输入是.bp文件,输出是.ninja文件,但是由于系统中的.mk文件还没有被完全消除掉,因此提供kati和ckati工具将.mk/Makefile文件转换为.ninja文件。.ninja成为编译系统的汇编文件,是不需要人为去修改的,相当于配置文件来调用gcc、java、clang等编译器去编译。
Soong编译系统的设计思想是消除.mk文件中的if/else等逻辑,使.bp文件只是一个简单的编译逻辑,这些复杂的选择配置逻辑应该放在更高层,比如使用更好调试的Python来编写。
参考优秀博文:
标签:文件,10,Android10,ninja,Soong,Android,编译系统 来源: https://www.cnblogs.com/hellokitty2/p/12261882.html