Android编译中m、mm、mmm的区别
来源:互联网 发布:mac u盘装系统 编辑:程序博客网 时间:2024/06/03 16:22
在AndroidSource Code中有envsetup.sh档案,当执行过此档案后,可以大幅将build的过程简单化、自动化
此档案在src(android source code 位置)/build/中
所以可以执行以下指令
- cd /src/build/
- . envsetup.sh
可以使用help来检示有哪些指令可以使用
- Invoke ". build/envsetup.sh" from your shell to add thefollowing functions to your environment:
- - croot: Changes directory to the top of the tree.
- - m: Makesfrom the top of the tree.
- - mm: Builds all of the modules in the currentdirectory.
- - mmm: Builds all of the modules in the supplieddirectories.
- - cgrep: Greps on all local C/C++ files.
- - hgrep: Greps on all local C/C++ header files.
- - jgrep: Greps on all local Java files.
- - mkgrep: Greps on all local make files.
- - rcgrep: Greps on all local .rc files.
- - resgrep: Greps on all local res/*.xml files.
- - shgrep: Greps on all local .sh files.
- - godir: Go to the directory containing a file.
其中对模块的编译有辅助说明的是tapas、m、mm、mmm这几个指令
其中mmm后面要跟模块的根目录,不是所有的目录下都有子模块,那些含有Android.mk档案目录才是模块的根目录,模块名可以从Android.mk的LOCAL_MODULE或者LOCAL_PACKAGE_NAME变数中得到。
1、单独编译某模块,需要在mmm后面指定模块路径,例如编译external 中的jpeg
- root@ubuntu:/home/android/src# mmm external/jpeg/
- ============================================
- PLATFORM_VERSION_CODENAME=REL
- PLATFORM_VERSION=2.1-update1
- TARGET_PRODUCT=generic
- TARGET_BUILD_VARIANT=eng
- TARGET_SIMULATOR=
- TARGET_BUILD_TYPE=release
- TARGET_ARCH=arm
- HOST_ARCH=x86
- HOST_OS=linux
- HOST_BUILD_TYPE=release
- BUILD_ID=ECLAIR
- ============================================
- make: Entering directory `/home/android/src'
- Target buildinfo: out/target/product/generic/root/default.prop
- Target buildinfo: out/target/product/generic/system/build.prop
- Copy: out/target/product/generic/system/etc/apns-conf.xml
- make: Leaving directory `/home/android/src'
- root@ubuntu:/home/android/src#
- root@ubuntu:/home/android/src/external/jpeg# mm
- ============================================
- PLATFORM_VERSION_CODENAME=REL
- PLATFORM_VERSION=2.1-update1
- TARGET_PRODUCT=generic
- TARGET_BUILD_VARIANT=eng
- TARGET_SIMULATOR=false
- TARGET_BUILD_TYPE=release
- TARGET_ARCH=arm
- HOST_ARCH=x86
- HOST_OS=linux
- HOST_BUILD_TYPE=release
- BUILD_ID=ECLAIR
- ============================================
- make: Entering directory `/home/android/src'
- Copy: out/target/product/generic/system/etc/apns-conf.xml
- make: Leaving directory `/home/android/src'
- root@ubuntu:/home/android/src/external/jpeg#
- root@ubuntu:/home/android/src# m
你也可以在src目录下直接执行
- make module name:
打开看 ./external/jpeg/Android.mk
看到里面模块名称为 libjpeg
- LOCAL_MODULE:= libjpeg
这样你就可以直接打模块名称编译
- cd ~/android/src
- make libjpeg
也可以在登入时自动执行此 script,编辑 ~/.bashrc 或其他 shell 的 rc 檔,加入此script 即可
- # invoke android envsetup.sh
- source ~/android/build/envsetup.sh
- Android编译中m、mm、mmm的区别
- Android编译中m、mm、mmm的区别
- Android编译中m、mm、mmm的区别
- Android编译中m、mm、mmm的区别
- Android编译中m、mm、mmm的区别
- Android 编译中m、mm、mmm的区别
- Android编译中m、mm、mmm的区别
- Android编译中m、mm、mmm的区别
- Android编译中m、mm、mmm的区别
- Android编译中m、mm、mmm的区别
- Android编译中m、mm、mmm的区别
- Android编译中m、mm、mmm的区别
- Android编译中m、mm、mmm的区别
- Android编译中m、mm、mmm 详解
- Android编译中m、mm、mmm 详解
- Android编译中m、mm、mmm 详解
- Android编译中m、mm、mmm 详解
- Android编译中m、mm、mmm 详解
- Google搜索引擎的工作原理
- VIM 多文件查找替换
- 编码格式转换--URLl编码与解码
- SSIS教程SQlServer2008R2
- Android 修炼(2)--------Android源代码的开发环境
- Android编译中m、mm、mmm的区别
- 透彻了解红黑树之二
- Struts2验证码
- u-boot顶层的makefile分析
- Android Layout XML属性
- js 获取url 截取参数
- 在win7下安装了linux mint系统,现在我想删除linux mint系统要怎么做 ?
- 计算机类核心期刊介绍
- oracle相关资料