Google 推出了 Soong 构建系统来替代旧的 makefile 系统。
知道它是如何工作的吗?源代码中的 Android.bp 是什么?
正如这个链接所解释的。
只有 Google 员工才能解释,一些基本文档在这里:
https://android.googlesource.com/platform/build/soong/
也尝试搜索 Google 群组:
https://groups.google.com/forum/#!topic/android-building/0Hy7kLwlBBk
请注意,在 Oreo 中,Android.mk 文件继续工作并且可以依赖于 Android.bp 文件,但是 Android.bp 文件不能依赖于 Android.mk 文件。显然,随着时间的推移,越来越多的构建系统将转换为 Android.bp,希望 Google 在文档方面做得更好。
2020 年 1 月更新
Google 在此处添加了更多信息:https://source.android.com/setup/build/index
Soong 构建系统相当于传统的“Android make 构建系统”。因此,Soong 是程序的集合,这些程序是“如何构建数百个 Android 模块”以及许多小工具的食谱。
Ninja 是一个真正处理由 Blueprint 或 Kati 制作的最终构建清单(Build.ninja)的过程(将 Android.mk 翻译为 Android.bp)。
Blueprint 类似于 GNU Make 语法,因此被称为“构建系统的框架”。它是由Go语言编写的,因此它更好地提供了多重处理。蓝图将“手写构建清单”(*.bp) 翻译为最终清单(build.ninja),这是 ninja 格式。