Android编译中m、mm、mmm的区别

转载 2015年07月08日 09:57:29

/********************************************************************************************
 * author:conowen@大钟                                                                                                                          
 * E-mail:conowen@hotmail.com                                                                                                             
 * http://blog.csdn.net/conowen                                                                                                              
 * 注:本文为原创,仅作为学习交流使用,转载请标明作者及出处。      

 ********************************************************************************************/


m、mm、mmm命令可以让你只编译单独模块,而不用费大量的时间比编译整个Android系统。


要使用m、mm、mmm命令,需要在源码目录下执行如下命令。(点与build之间是有空格的)

[java] view plaincopy
  1. . build/envsetup.sh  

否则会提示命令找不到

[java] view plaincopy
  1. No command 'mmm' found, did you mean:  
  2.  Command 'mwm' from package 'motif-clients' (multiverse)  
  3.  Command 'mwm' from package 'lesstif-bin' (universe)  
  4.  Command 'mgm' from package 'mgm' (universe)  
  5.  Command 'rmm' from package 'nmh' (universe)  
  6.  Command 'rmm' from package 'mailutils-mh' (universe)  
  7.  Command 'mmv' from package 'mmv' (universe)  
  8.  Command 'mmd' from package 'mtools' (main)  
  9.  Command 'mmg' from package 'mkvtoolnix-gui' (universe)  
  10.  Command 'mm' from package 'mountmanager' (universe)  
  11.  Command 'mm' from package 'multimail' (universe)  


可以使用help来检示有哪些指令可以使用

[plain] view plaincopy
  1. Invoke ". build/envsetup.sh" from your shell to add thefollowing functions to your environment:  
  2.   
  3. - croot:   Changes directory to the top of the tree.  
  4. - m:       Makesfrom the top of the tree.  
  5. - mm:      Builds all of the modules in the currentdirectory.  
  6. - mmm:     Builds all of the modules in the supplieddirectories.  
  7. - cgrep:   Greps on all local C/C++ files.  
  8. - hgrep:   Greps on all local C/C++ header files.  
  9. - jgrep:   Greps on all local Java files.  
  10. - mkgrep:  Greps on all local make files.  
  11. - rcgrep:  Greps on all local .rc files.  
  12. - resgrep: Greps on all local res/*.xml files.  
  13. - shgrep:  Greps on all local .sh files.  
  14. - godir:   Go to the directory containing a file.  

其中对模块的编译有辅助说明的是tapas、m、mm、mmm这几个指令

其中mmm后面要跟模块的根目录,不是所有的目录下都有子模块,那些含有Android.mk档案目录才是模块的根目录,模块名可以从Android.mk的LOCAL_MODULE或者LOCAL_PACKAGE_NAME变数中得到。

1、单独编译某模块,需要在mmm后面指定模块路径,例如编译ffmpeg 中的libjnivideo

[java] view plaincopy
  1. conowen@ideal:~/conowen_android/android4.0$ mmm frameworks/base/native/video/jni  
  2. ============================================  
  3. PLATFORM_VERSION_CODENAME=REL  
  4. PLATFORM_VERSION=4.0.1  
  5. TARGET_PRODUCT=full  
  6. TARGET_BUILD_VARIANT=eng  
  7. TARGET_BUILD_TYPE=release  
  8. TARGET_BUILD_APPS=  
  9. TARGET_ARCH=arm  
  10. TARGET_ARCH_VARIANT=armv7-a  
  11. HOST_ARCH=x86  
  12. HOST_OS=linux  
  13. HOST_BUILD_TYPE=release  
  14. BUILD_ID=ITL41D  
  15. ============================================  


2、或者可以跳转到你想编译模块相对应目录下执行“mm”命令。

           就可以编译单独的模块,事实上,这个命令与mmm命令没有本质的区别。


3、用 m 编译全部的模块

[java] view plaincopy
  1. conowen@ideal:~/conowen_android/android4.0$ m   

你也可以在src目录下直接执行


[java] view plaincopy
  1. conowen@ideal:~/conowen_android/android4.0$ make module_name       

相关文章推荐

Android编译中m、mm、mmm的区别

在AndroidSource Code中有envsetup.sh档案,当执行过此档案后,可以大幅将build的过程简单化、自动化 此档案在src(android source code 位置)/...

Android编译中m、mm、mmm的区别

http://dongyulong.blog.51cto.com/1451604/550055 在Android Source Code中有envsetup.sh檔案,當執行過此檔案後,可以...

Android编译中m、mm、mmm的区别

Android2010-12-30 13:14:09阅读913评论2  字号:大中小 订阅在Android Source Code中有envsetup.sh檔案,當執行過此檔案後,可以大幅將build...

Android编译中m、mm、mmm的区别

原作者 http://blog.csdn.net/conowen/article/details/7260982/ /***************************************...

Android编译中m、mm、mmm的区别

/********************************************************************************************  * au...

Android编译中m、mm、mmm的区别

Android编译中m、mm、mmm的区别   ...

Android 编译中m、mm、mmm的区别

在Android Source Code中有envsetup.sh檔案,當執行過此檔案後,可以大幅將build的過程簡單化、自動化 此檔案在src(android source code 位置)/b...
  • AMinfo
  • AMinfo
  • 2012-05-31 17:11
  • 1257

Android中m、mm、mmm、mma、mmma的区别

m:编译所有的模块 mm:编译当前目录下的模块,当前目录下需要有Android.mk这个makefile文件 mmm:编译指定路径下的模块,指定的路径下面需要有Android.mk这个makefile...

Android编译中m、mm、mmm 详解

Android 完成编译的时候先执行  source build/envsetup.sh。  在这个shell 脚本中定义了 help,  croot, m, mm, mmm 等 function ...

Android.mk的用法和基础 && m、mm、mmm编译命令

文章来源:http://blog.csdn.net/zhandoushi1982/article/details/5316669 一个Android.mk file用来向编译系统描述你的源代码。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)