Android soong / android.bp构建如何工作?

时间:2018-05-10 02:47:57

标签: android android-source android-build android-soong

Google推出了Soong构建系统,替换旧的makefile系统。 知道它是如何工作的吗? 请告诉我有关Android.bp的信息

3 个答案:

答案 0 :(得分:9)

  1. ninja是aosp的新构建工具,它使用* .ninja来工作;
  2. 对于旧版Android.mk,应用了kati将Androd.mk转换为* .ninja;
  3. google现在正在使用Android.bp文件描述模块编译详细信息,该文件也已通过blueprint / soong转换为* .ninja;
  4. 在将所有Android.mk重写为Android.bp之后,kati将被删除,而我们仅拥有蓝图/宋/忍者;

link所述。

答案 1 :(得分:4)

只有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能够更好地使用文档。

答案 2 :(得分:1)

Soong构建系统相当于遗产" Android make build system"。所以Soong是程序的集合,这是食谱"如何构建数百个android模块"有很多小工具。

Ninja是一个真正处理最终构建清单(Build.ninja)的过程,它由Blueprint或Kati(将Android.mk翻译为Android.bp)制作。

Blueprint就像GNU Make语法,所谓的#34;构建系统框架"。它由Go语言制作,因此它更好地提供了多处理。蓝图翻译"手工编写构建清单"(*。bp)到最终清单(build.ninja),这是忍者格式。