您的位置:首页 > 其它

envsetup.sh与mm命令、mmm命令说明

2016-03-07 11:00 615 查看
Android SDK源码工程下,如果编译整个工程可能需要两三个小时,即使二次编译也要二十多分钟。如果只想单独编译某个APK应用,那么可以这样做:

1)在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.

- 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的配置情况

2)mm命令

用于当前目录下的工程

3)mmm命令

用于编译指定目录,如:

mmm Settings

表示编译Settings这个目录,之后会生成新的apk

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: