source build/envsetup.sh
在这个shell脚本中定义了 help, croot, m, mm, mmm等
1. 问题
有时我们只修改了个别文件,如何将修改快速地加进Image. 比如我们在RK2918的项目中修改了文件:
/frameworks/base/services/java/com/android/server/ WindowManagerService.java 那我们只要执行以下命令即可:
cd frameworks/base/services/java/com/android/server/ mm
./mkimage.sh
2. 但我们在执行命令mm时,出现了以下错误提示: The program 'mm' can be found in the following packages: * mountmanager * multimail
Try: apt-get install <selected package>
2.1 android
下m、mm、mmm编译命令的使用
通过查看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下的libjpeg模块,当前目录为源码根目录,方法如下:
1、. build/envsetup.sh 2、mmm external/jpeg/
或者 :
1、. build/envsetup.sh 2、cd external/jpeg 3、mm
最后说明一下,envsetup.sh只要source一次就够了,source之后还可以用croot命令返回到源码根目录,很好用。