soong/android.bp 构建如何工作?
How the soong/android.bp build works?
Google引入宋建系统替代旧的makefile系统。
知道它是如何工作的吗?来源中的 Android.bp 是什么?
只有 Googlers 可以解释,一些基本的文档在这里:
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 build system"。所以Soong是程序集,是食谱"how to build hundreds of android modules",里面有很多小工具。
Ninja 是一个真正处理由 Blueprint 或 Kati 制作的最终构建清单 (Build.ninja) 的过程 (translate Android.mk to Android.bp)。
蓝图就像GNU Make的文法,所以叫"framework for build system"。它由Go语言制作,因此它更好地提供了多处理。蓝图将 "hand-writing build manifest"(*.bp) 转换为忍者格式的最终清单 (build.ninja)。
- ninja 是 aosp 的新构建工具,它使用 *.ninja 工作;
- 对于旧版 Android.mk,应用 kati 将 Androd.mk 转换为 *.ninja;
- google 现在使用 Android.bp 文件来描述模块编译细节,它也被 blueprint/soong;
转换为 *.ninja
- 全部Android.mk重写为Android.bp后,kati将被移除,我们将只有blueprint/soong/ninja;
如此 link 解释。
Google引入宋建系统替代旧的makefile系统。
知道它是如何工作的吗?来源中的 Android.bp 是什么?
只有 Googlers 可以解释,一些基本的文档在这里:
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 build system"。所以Soong是程序集,是食谱"how to build hundreds of android modules",里面有很多小工具。
Ninja 是一个真正处理由 Blueprint 或 Kati 制作的最终构建清单 (Build.ninja) 的过程 (translate Android.mk to Android.bp)。
蓝图就像GNU Make的文法,所以叫"framework for build system"。它由Go语言制作,因此它更好地提供了多处理。蓝图将 "hand-writing build manifest"(*.bp) 转换为忍者格式的最终清单 (build.ninja)。
- ninja 是 aosp 的新构建工具,它使用 *.ninja 工作;
- 对于旧版 Android.mk,应用 kati 将 Androd.mk 转换为 *.ninja;
- google 现在使用 Android.bp 文件来描述模块编译细节,它也被 blueprint/soong; 转换为 *.ninja
- 全部Android.mk重写为Android.bp后,kati将被移除,我们将只有blueprint/soong/ninja;
如此 link 解释。