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来编写。

 

参考优秀博文:

1. 了解一下,Android 10 Build系统

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM