仅从 Android 源 (AOSP) 构建一个工具

Building just one tool from Android source (AOSP)

目前我正在使用 Amazon AWS 上的 AOSP ROM Builder 映像来构建 Android。
关键是,我只对路径中为主机 (linux) 构建的外部工具 grxmlcompile 感兴趣:aosp/out/host/linux-x86/bin
来源位于 aosp/external/srec/tools/grxmlcompile

我对Linux和制作文件不是很熟悉,因此我很难做到这一点。

我想复制源代码(如果需要整个树)并在另一台 linux 机器上构建这个工具。

我找不到 运行 只构建这一部分所需的 make 文件。

更新: 看起来 make out/host/linux-x86/bin/grxmlcompile 可以胜任。我仍然希望能够只将源代码树中需要的部分移植到构建机器上

cd 到 Android 构建源的顶部。

source build/envsetup.sh
cd external/srec/tools/grxmlcompile
mma

...或任何目录或子目录生成文件。来自 AOSP build/envsetup.sh

  • m:从树的顶部开始。
  • mm:构建当前目录中的所有模块,但不构建它们的依赖项。
  • mmm:构建提供目录中的所有模块,但不构建它们的依赖项。 要限制正在构建的模块,请使用语法:mmm dir/:target1,target2.
  • mma:构建当前目录中的所有模块及其依赖项。
  • mmma:构建提供的目录中的所有模块及其依赖项。

external/srec 在 android-5.1.1_r4 标签后从 platform/manifest 中删除。所以稍后,如果您使用的是版本 5、6 或更高版本等清单,您可能需要执行 git clone https://android.googlesource/platform/external/srec external/srec 以包含该目录。