android源码目录下的build/envsetup.sh文件,描述编译的命令

- m:       Makes from the top of the tree.  

- mm:      Builds all of the modules in the current directory.  

- mmm:     Builds all of the modules in the supplied directories.  

要想使用这些命令,首先需要在android源码根目录执行. build/envsetup.sh 脚本设置环境

m:编译所有的模块  

mm:编译当前目录下的模块,当前目录下要有Android.mk文件  

mmm:编译指定路径下的模块,指定路径下要有Android.mk文件  


下面举个例子说明,假设我要编译android下的\hardware\libhardware_legacy\power模块,当前目录为源码根目录,

方法如下:  

1、. build/envsetup.sh  

2、mmm hardware/libhardware_legacy/power/  


或者 :  

1、. build/envsetup.sh  

2、cd hardware/libhardware_legacy/power/  

3、mm

++++++++++++++++++++++++++++


[root@localhost build]# . envsetup.sh

执行完后,就会多出以下几个命令:

- croot:   Changes directory to the top of the tree.

- m:       Makes from the top of the tree.

- mm:      Builds all of the modules in the current directory.    用于当前目录下的工程    

- mmm:     Builds all of the modules in the supplied directories.    用于编译指定目录,如:mmm Settings,表示编译Settings这个目录,之后会生成新的apk

- cgrep:   Greps on all local C/C++ files.

- jgrep:   Greps on all local Java files.

- resgrep: Greps on all local res/*.xml files.

- godir:   Go to the directory containing a file.

- printconfig: 当前build的配置情况