`
fanfq
  • 浏览: 270858 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

android模块编译,mm,mmm 模块编译 .

 
阅读更多

from http://jinguo.javaeye.com/blog/691507  

如果你只修改某一个模块的内容,却每次都要执行make, 最后等待很长时间。
使用模块编译,只需要在你所在的模块的目录或者其子目录,执行mm,便可以编译出一个单独的apk,这样岂不快哉!
具体步骤:
        1)打开~/.baserc文件,加入source ~/I850/build/envsetup.sh. 加入你自己该文件所在的路径,这样就免去了每次启动新的终端执行mm命令之前,需要引用此文件。
        2)完成步骤1之后,就可以在你的模块里面随意执行mm了,要想使用其他快速命令,可以查看envsetup.sh文件,比如 cgrep,jgrep,resgrep在不同类型的文件里面进行相应的查询。还有m,mmm等等
        3)还可以使用adb push 将你的apk push到模拟器或者手机终端,也可以在工程根目录通过make -snod生成新的system.img

 

 

 from http://mcuos.com/redirect.php?tid=4553&goto=lastpost

编译模块

Android中的一个应用程序可以单独编译,编译后需要重新生成system.img。
在Android目录下运行
$ . build/envsetup.sh  或者
$ source build/envsetup.sh ,然后就会多出几个可用的命令:

- 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.
- jgrep:   Greps on all local Java files.
- resgrep: Greps on all local res/*.xml files.
- godir:   Go to the directory containing a file.
- printconfig: 当前build的配置情况.
可以使用 --help查看用法。
如:在修改了某一个模块以后,可以使用 $ mmm <目录>  来重新编译所有在<目录>中的所有模块,使用 $ mm  编译当前目录中的所有模块。
编完之后,即修改了Android系统以后,可以使用 $ make snod 重新生成system.img

分享到:
评论

相关推荐

    android P android9源码编译.ipr.iml文件

    熟悉Android的构建系统,如`build.gradle`文件和`Android.mk`文件,以及使用`mm`或`mmm`命令来编译单独的模块,这些都是成功编译的关键。 总的来说,`.ipr`和`.iml`文件在Android P源码编译过程中起着关键作用,...

    如何单独编译Android源代码中的模块

    m 命令用于从顶层目录编译,mm 命令用于编译当前目录下的所有模块,mmm 命令用于编译指定目录下的所有模块。 二、使用 mmm 命令编译模块 使用 mmm 命令可以编译指定目录下的所有模块。例如,要编译 Email 应用程序...

    如何单独编译Android源码中的模块

    Android 源码单独编译模块是指在 Android 源代码工程中编译指定的模块,而不需要重新编译整个 Android 系统。这种方法可以节省大量的时间和资源,因为编译整个 Android 系统需要漫长的等待时间。 在 Android 源代码...

    Android项目编译系统

    在实际操作中,开发者可能还会使用其他高级的编译命令,比如`mmm`(make modules)用于编译特定模块,`make -j4`(使用4个线程并行编译)用于加快编译速度等。 总结而言,Android项目的编译系统是一个复杂的工程,...

    Android编译过程详解

    在使用上述步骤进行编译时,需要特别注意的是,Android的编译系统非常复杂,涉及到大量的模块化和交叉编译。每个设备和变体都有自己的配置,因此在编译时需要选择正确的平台和设备模型,这通常通过`lunch`命令完成。...

    Android源码编译流程.pdf

    1. `make`:执行全局编译,这将编译整个Android系统,包括所有组件和模块,需确保系统资源充足,因为这是一个耗时的过程。 2. `make sdk`:生成SDK,用于开发者进行应用程序开发。 3. `mmm`:编译指定目录下的源码,...

    Android编译独立源代码

    对于开发者而言,能够独立编译Android的某个模块或应用程序具有重要的意义,它不仅能够帮助我们更好地理解Android系统的内部工作原理,还能够在定制化开发过程中发挥重要作用。 #### 二、编译环境准备 在开始编译...

    Android源码编译流程借鉴.pdf

    如果只需要编译特定模块,可以使用`mmm`指令,如`mmm packages/apps/AlarmClock`来编译“AlarmClock”应用。对于部分源码的快速编译,`mm`指令则非常实用,例如在`packages/apps/AlarmClock`目录下执行`mm`,将仅...

    单独编译Android 源代码中的模块实现方法

    例如,`croot`命令可以切换到源代码的顶层目录,`m`用于从顶层目录编译整个系统,而`mm`则用来编译当前目录下的所有模块。 重点是`mmm`命令,它可以用来编译指定目录下的所有模块。比如,如果你想要编译`Email`应用...

    Android应用源码之系统源码获取及编译.zip

    这个压缩包"Android应用源码之系统源码获取及编译.zip"显然包含了关于如何获取和编译Android操作系统源码的教程或资料。接下来,我们将详细探讨这个过程中的关键知识点。 1. **获取Android源码**:Android源码主要...

    Android系统源码的编译和分析.zip

    此外,文件可能还会提到使用mm或mmm命令来分别编译单个模块和目录,以及如何使用“lunch”命令选择目标设备配置。 最后,"Android源码分析.md"将指导我们如何解析和理解源码。分析源码可以帮助我们深入学习Android...

    android编译总结

    此外,AOSP(Android Open Source Project)的编译涉及更多细节,如使用repo工具管理源代码,以及使用mm或mmm命令在特定目录下编译模块。 总之,Android编译是一个复杂但有序的过程,涉及多个工具和配置文件。理解...

    android6.0官方编译文档

    `mm`和`mmm`是常用的构建命令,`mm`用于构建当前目录下的模块,而`mmm`则可以处理多模块的构建需求。`lunch`命令用于选择目标设备配置,它会确定你编译的目标平台和版本。 4. **内核编译**:Android系统的内核是...

    Android系统源代码情景分析光盘

    1.6.1 导入单独编译模块的mmm命令............................................................... 11 1.6.2 单独编译Android应用程序模块............................................................... 12 ...

    android编译系统分析.pdf

    `m()`执行整个项目构建,`mm()`仅构建当前目录下的模块,而`mmm()`则用于构建指定目录及其子目录下的模块。这些命令通常与Makefile一起使用,用于管理构建规则和目标。 此外,`croot()`返回源代码的根目录,`pid()`...

    Android 系统 8.1源码

    `mm`命令是Android编译系统中的一个重要工具,它可以用于快速编译指定的模块。相比于完整的`make`命令,`mm`只重新编译发生了更改的文件及其依赖项,大大减少了编译时间。 1. **mm命令的用法**: - `mm`:编译所有...

    安卓Android源码——系统源码获取及编译.rar

    在编译完成后,开发者可以使用`mm`或`mmm`命令编译特定模块,`adb`工具将编译好的系统映像推送到连接的设备或模拟器上进行测试。此外,为了调试和优化,理解Android的构建系统,如Build System Generator (BSG) 和 ...

    快速搭建android5-1系统源码编译环境.pdf

    2. **后续编译**:在对源码进行修改后,可以使用`mm`命令编译单个模块,或者`mm -B`强制重新编译。 3. **生成映像**:编译完成后,使用`mmm out/target/product/your_device/`命令生成特定设备的系统映像。 五、...

Global site tag (gtag.js) - Google Analytics