Building just one tool from Android source (AOSP)

2020-02-29 11:43发布

问题:

Currently I'm using the the AOSP ROM Builder image on Amazon AWS to build Android.
The point is, I'm only interested in the external tool grxmlcompile that is built for the host (linux) in the path: aosp/out/host/linux-x86/bin
where the source is at aosp/external/srec/tools/grxmlcompile

I'm not very familiar with Linux and make files, hence my difficulty to get this going.

I would like to copy the source (if needed the whole tree) and build just this tool on another linux machine.

I can't find the make file I need to run to build just this part.

UPDATE: Looks like make out/host/linux-x86/bin/grxmlcompile would do the job. I would still like to be able to port only the needed parts of the source tree to the build machine

回答1:

cd to the top of your Android build source.

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

...or any directory, or sub-directory a makefile. From AOSP build/envsetup.sh

  • m: Makes from the top of the tree.
  • mm: Builds all of the modules in the current directory, but not their dependencies.
  • mmm: Builds all of the modules in the supplied directories, but not their dependencies. To limit the modules being built use the syntax: mmm dir/:target1,target2.
  • mma: Builds all of the modules in the current directory, and their dependencies.
  • mmma: Builds all of the modules in the supplied directories, and their dependencies.

external/srec was removed from the platform/manifest after android-5.1.1_r4 tag. So later, if you are using a manifest such as revision 5, 6 or later, you may need to do git clone https://android.googlesource/platform/external/srec external/srec to include that directory.