Android模块化编译
来源:互联网 发布:安装驱动程序软件错误 编辑:程序博客网 时间:2024/05/16 19:24
1、我们平常在编译Android源码,有时并不需要编译整个Android源码,而只需要编译模个模块,这是可以使用mmm工具来编译。
其使用方法是:mmm <dir>,如编译frameworks下的所有文件,则可以这样子:
. build/envsetup.sh && choosecombo 1 1 2 3 &&
export ANDROID_JAVA_HOME=$JAVA_HOME && mmm framwork
编译出来的APK,但APK并不包含在system文件夹中,我们可以使用make snod打包system文件夹,产生新的system.img。
$. 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.
- jgrep: Greps on all local Java files.
- resgrep: Greps on all local res/*.xml files.
- godir: Go to the directory containing a file.
Look at the source to view more functions. The complete list is:
add_lunch_combocgrep check_product check_variant choosecombo chooseproduct choosetypechoosevariant croot findmakefile gdbclient get_abs_build_vargetbugreports get_build_var getprebuilt gettop godir helpisviewserverstarted jgrep lunch m mm mmm pid printconfigprint_lunch_menu resgrep runhat runtest runtest_py setpathsset_sequence_number set_stuff_for_environment settitle smoketeststartviewserver stopviewserver tapas tracedmdump
2、关于img文件说明
编译android源码之后,在out/target/product/generic一些文件:ramdisk.img、system.img、userdata.img、 system、 data、root
其中, system.img是由 system打包压缩得到的, userdata.img是由 data打包压缩得到的。
ramdisk.img是模拟器的文件系统,把ramdisk.img解压出来可知道,ramdisk.img里的文件跟root文件夹的文件基本一样。
模拟器装载ramdisk.img并解压到内存,接着分别把system.img和userdata.img挂载到 ramdisk下的system和data目录。我们编译出来的应用程序就是放在system/app下的。用户安装的程序则是放在data/app下。
- Android模块化编译
- Android模块化编译
- android源码模块化编译整理
- Android模块化编译的方法详解
- Android 模块化编译的一些问题解决方案
- Android学习第二篇;模块化编译
- 在Android系统中模块化编译驱动程序
- 源代码编译+模块化编译
- Android模块化与组件化--多模块区分编译
- Android学习之模块化过程多渠道编译详解
- android模块化
- Android模块化
- 模块化编译F2FS
- 我所理解的Android模块化(三)——模块可插拔单独编译运行
- Android模块化(三)——模块可插拔单独编译运行
- Android模块化编程
- Android 创建模块化接口
- android studio模块化开发
- 程序员职业规划有感
- 单元测试,集成测试,系统测试区别
- 使用DIV+CSS布局网站的优点和缺陷
- [双语阅读]脸部较宽的人更具侵略性?
- POJ 1679 The Unique MST
- Android模块化编译
- [转]好文!typedef的四个用途和两个陷阱
- jQuery 中get 和post 方法传值需要注意
- 托管C++与WIN32API混合编程
- [转]Virtualbox Share Folder的设置
- 闪回技术
- C 读100个数到数组
- 组策略中的软件限制策略
- DDE红翻天公式