【转:】http://www.cnblogs.com/cnhome/archive/2009/12/06/1618233.html
编译模块
android中的一个应用程序可以单独编译,编译后要重新生成system.img
在源码目录下执行
. 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.
可以加—help查看用法
我们可以使用mmm来编译指定目录的模块,如编译联系人:
mmm packages/apps/Contacts/
编完之后生成两个文件:
out/target/product/generic/data/app/ContactsTests.apk
out/target/product/generic/system/app/ Contacts.apk
可以使用make snod重新生成system.img
再运行模拟器
分享到:
相关推荐
`.iml`文件代表IntelliJ IDEA Module,同样是以XML格式存储,它记录了单个模块的详细信息,包括模块类型、依赖关系、源代码和资源文件的位置等。在Android项目中,每个应用模块或库模块通常对应一个`.iml`文件。在...
经过一系列调研与实践,我们找到了一套有效的模块化编译解决方案,并已成功实现单个模块的编译时间缩短至10秒以内。下面是具体的实施方案: #### 实施步骤 1. **Project File配置** - 在Project目录下添加必要的...
from android.buildTypes.release.outputDirectory // 从release构建输出目录获取编译后的class文件 archiveName 'your_library_name.jar' // 设置jar文件名 } ``` 3. **混淆规则** 混淆是为了解决Java类库的可...
当完成单个模块的编译后,有时还需要将这些更改集成到完整的系统镜像中,以便在模拟器或实际设备上进行测试。这一步骤可以通过执行`makesnod`命令来完成,它会生成一个名为`system.img`的文件,这个文件包含了编译后...
* 使用 droid goal,编译整个 Android 系统,包括 bootloader、kernel、系统程序、模块和应用程序。 * 使用 showcommands goal,显示编译过程中的详细指令。 * 使用 mm 指令,编译单个 module。 六、Makefile 的...
同时,理解如何使用`mm`(编译单个模块)和`m`(编译整个项目)等命令也非常重要。 此外,调试编译问题也是必不可少的技能,包括跟踪错误日志、理解编译器的警告和错误信息,以及使用`mm -jN`进行多核并行编译以...
3. 运行编译:执行`make`或`mm`(针对单个模块)来启动编译。 4. 清理构建:使用`make clean`清除编译产物,`make clobber`将彻底清理所有编译文件。 五 C风格的宏定义与JAVA的宏定义的用法 在C/C++代码中,宏...
- **mm** 命令:用于编译单个模块,无需重新编译整个系统。 - 使用方法:`make ONE_SHOT_MAKEFILE=<path-to-android.mk>` - **showcommands**:显示构建过程中每个步骤的详细命令。 - **droid**:构建整个Android...
本文档主要介绍了如何在Linux Ubuntu 10.04 64bit环境下编译MTK包,包括模块编译的过程。以下是详细步骤: 首先,你需要确保拥有一个合适的开发环境,即Linux Ubuntu 10.04 64位操作系统。在这个环境中,你需要处理...
此外,文件可能还会提到使用mm或mmm命令来分别编译单个模块和目录,以及如何使用“lunch”命令选择目标设备配置。 最后,"Android源码分析.md"将指导我们如何解析和理解源码。分析源码可以帮助我们深入学习Android...
"你们要的Android组件化来了,module单独编译运行"这个标题表明我们将讨论如何实现Android应用的组件化,使得每个模块可以独立编译和运行,这在大型项目中非常关键,因为它提高了开发效率并降低了集成风险。...
- **执行编译命令**:使用 `make` 或 `mm`(针对单个模块)开始编译过程。 - **编译过程中注意监控资源使用**:确保系统有足够的内存和CPU资源,因为编译过程非常消耗资源。 6. **编译完成后** - **检查编译结果...
`Android.mk`文件是Android编译系统中的核心组成部分,用于描述单个模块或者一组模块的编译规则。下面详细介绍`Android.mk`文件的基本结构及其如何与编译系统交互。 1. **初始化设置**:通常`Android.mk`文件的开头...
- **Android.mk简介**:Android.mk是Android NDK中的构建脚本,用于定义编译的模块、源代码文件、依赖项等。它告诉NDK如何编译C/C++代码,生成动态库。 - **高通ISP效果库编译举例**:根据高通ISP效果库的具体需求...
在进行源码修改后,执行`make`或`mm`(针对单个模块)即可重新编译并更新相应部分。 总的来说,理解和掌握Android源码的编译调试流程,不仅能够帮助开发者深入理解Android系统的工作原理,还能提高解决问题的能力,...
* `./mk $project r(n) pl(/ub/k/dr)`:remake or new 单个模块 * `./mk bootimage`:打包模块 * `./mk otapackage`:编译制作 SD 卡系统升级包 * `./mk banyan_addon`:编译 MTK sdk 包 模块修改及对应的编译命令 ...
2. **后续编译**:在对源码进行修改后,可以使用`mm`命令编译单个模块,或者`mm -B`强制重新编译。 3. **生成映像**:编译完成后,使用`mmm out/target/product/your_device/`命令生成特定设备的系统映像。 五、...
其中,关键工具是`mm`和`mmm`命令,它们分别用于编译单个模块和多模块。编译过程中,Makefile文件起着至关重要的作用,控制着整个流程。 2. **Android.mk分析**: `Android.mk`是每个Android模块的构建脚本,它...
4. **mm/mmm**:`mm`用于编译单个模块,而`mmm`则可以批量编译指定目录下的模块,这对于局部更新或调试非常有用。 5. **clean**:清理编译产物,如`.o`文件、库文件等,通常在更改配置或者遇到编译错误后使用,以...