linux上mmm和mm指令的区别

mmmmm指令在Android源码编译过程中扮演着重要角色,它们都属于Android构建系统(Build System)提供的命令集合,但用途略有不同。以下是它们之间的主要区别:

1. 功能和用途

  • mmm(make module matches):该命令用于编译指定路径下的模块。它允许用户从任何位置执行命令,并指定要编译的模块路径作为参数。这意味着用户无需先切换到模块所在的目录,即可进行编译。mmm命令会查找指定路径下的Android.mkBlueprints文件,并编译该路径下定义的模块及其依赖项。
  • mm(make module):该命令用于编译当前目录下的模块。当使用mm时,它会查找当前目录对应的Android.mkBlueprints文件,并仅编译该目录下定义的模块及其依赖项。这要求用户已经处于要编译的模块目录中。

2. 工作目录

  • mmm:不依赖于当前工作目录,允许用户从源码树的任何位置执行命令,并指定要编译的模块路径。
  • mm:假定用户已经处于要编译的模块目录中,因此其操作范围局限于当前目录及其子目录。

3. 使用场景

  • mmm:适用于需要从不同位置编译多个不同模块的情况,或者当用户不想切换到模块所在目录时。
  • mm:适用于用户已经在模块目录下,并希望快速编译该模块及其依赖项的情况。

4. 编译范围

无论是mmm还是mm,它们都只会编译指定的模块和必需的依赖项,而不会编译整个Android系统。这样可以节省编译时间,因为不需要重新编译整个系统的所有组件。

5. 示例

  • mmm示例

    mmm development/ky_ai/arnoldTestNdkDemo/SimpleJNI

    此命令会编译位于development/ky_ai/arnoldTestNdkDemo/SimpleJNI目录下的模块及其依赖项。

  • mm示例
    用户首先需要切换到模块所在的目录,例如:

    cd development/ky_ai/arnoldTestNdkDemo/SimpleJNI
    mm

    然后执行mm命令,这将编译当前目录下的模块及其依赖项。

结论

mmmmm指令在Android源码编译中都是有用的工具,它们的主要区别在于工作目录和灵活性。mmm提供了更大的灵活性,允许用户从任何位置编译模块,而mm则更适用于用户已经在模块目录下的情况。这两个命令都旨在提高编译效率,通过仅编译指定的模块和依赖项来减少编译时间。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值