android mm重新编译,Android编译中m、mm、mmm的区别

在Android Source

Code中有envsetup.sh档案,当执行过此档案后,可以大幅将build的过程简单化、自动化

此档案在src(android source

code 位置)/build/中

所以可以执行以下指令

cd /src/build/

. envsetup.sh

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

Invoke ". build/envsetup.sh" from your shell to add the following

functions to your environment:

- 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.

- 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变数中得到。

单独编译某模组,需要在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#

或者可用 mm 再欲编译的模组目录下执行

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#

或者可用 m 编译全部的模组

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值