代码之家  ›  专栏  ›  技术社区  ›  Midhun PM

宋楚瑜/安卓。bp建造工程?

  •  16
  • Midhun PM  · 技术社区  · 8 年前

    谷歌推出了宋楚瑜构建系统,以取代旧的makefile系统。

    你知道它是怎么工作的吗?这个Android是什么。来源中的bp?

    3 回复  |  直到 5 年前
        1
  •  20
  •   oscarthecat    8 年前
    1. ninja是aosp的新构建工具,它使用*。忍者工作;
    2. 对于传统Android。mk,kati用于变换Androd。mk至*。忍者;
    3. 谷歌现在正在使用Android。描述模块编译详细信息的bp文件,该文件也转换为*。蓝图忍者/宋楚瑜;
    4. 毕竟是Android。mk被重写为Android。bp、kati将被移除,我们只有blueprint/soong/ninja;

    就像这样 link 解释。

        2
  •  11
  •   satur9nine    6 年前

    可能只有Googler才能解释,这里有一些基本文档:

    https://android.googlesource.com/platform/build/soong/

    也可以尝试搜索谷歌群组:

    https://groups.google.com/forum/#!topic/android-building/0Hy7kLwlBBk

    请注意,在Oreo Android中。mk文件继续工作,并且可以依赖于Android。bp文件,但Android。bp文件不能依赖于Android。mk文件。显然,越来越多的构建系统将转换为Android。随着时间的推移,希望谷歌在文档方面做得更好。

    2020年1月更新

    谷歌在此处添加的更多信息: https://source.android.com/setup/build/index

        3
  •  6
  •   OfusJK    8 年前

    Soong build系统相当于遗留的“Android make build系统”。因此,宋楚瑜收集了一系列程序,这些程序是“如何构建数百个android模块”的配方,其中包含许多小工具。

    Ninja是一个真正处理最终构建清单(build.Ninja)的过程,该清单由Blueprint或Kati(将Android.mk翻译为Android.bp)生成。

    Blueprint就像GNU Make语法,被称为“构建系统的框架”。它由Go语言制作,因此它更好地提供了多种处理。蓝图将“手写构建清单”(*.bp)转换为最终清单(build.ninja),即ninja格式。