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

在Android编译中,m、mm和mmm是常用的编译命令。它们都是make工具的命令,用于构建Android源代码。下面将详细介绍它们的用法和区别。

1. m命令:

m命令是make的简写,用于编译单个模块或目标。它会根据当前目录下的Android.mk文件或Android.bp文件执行构建操作。

使用m命令需要先进入到Android源码根目录,然后执行命令"source build/envsetup.sh",然后再执行"lunch"选择需要构建的目标设备。接下来可以使用m命令编译指定的模块或目标。

例如,要编译frameworks/base模块,可以执行命令"m frameworks/base"。

2. mm命令:

mm命令是make module的缩写,用于编译指定的模块。它会根据当前目录下的Android.mk文件或Android.bp文件执行构建操作,与m命令类似。

不同之处在于,mm命令可以在任意子目录下执行,并且会将该目录及其所有子目录下的模块一起编译。

例如,在frameworks/base目录下执行命令"mm"就会编译该目录及其子目录下的所有模块。

3. mmm命令:

mmm命令是make module module的缩写,用于编译指定模块的特定目标。它会根据当前目录下的Android.mk文件或Android.bp文件执行构建操作。

与mm命令相比,mmm命令可以精确指定要编译的模块及其目标。该命令需要提供两个参数,第一个参数是模块所在的路径(相对于Android源码根目录),第二个参数是要编译的目标。

例如,要编译frameworks/base模块的libandroidfw库,可以执行命令"mmm frameworks/base libandroidfw"。

总结:

m命令用于编译单个模块或目标,需要在Android源码根目录下执行;

mm命令用于编译当前目录及其子目录下的所有模块;

mmm命令用于编译指定模块的特定目标。

这些命令的使用可以根据需要选择,根据项目的需求来编译所需模块或目标,提高编译效率。

以下是一些使用这些命令的例子:

1. 使用m命令编译frameworks/base模块:

$ source build/envsetup.sh

$ lunch

$ m frameworks/base

2. 使用mm命令编译当前目录及其子目录下的所有模块:

$ source build/envsetup.sh

$ lunch

$ cd frameworks/base

$ mm

3. 使用mmm命令编译frameworks/base模块的libandroidfw库:

$ source build/envsetup.sh

$ lunch

$ mmm frameworks/base libandroidfw

以上是关于Android编译中m、mm和mmm命令的详细介绍和使用方法,希望对你有所帮助。

壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(41) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部