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