Android ROM编译调试
Posted Zhang Jun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android ROM编译调试相关的知识,希望对你有一定的参考价值。
android源码目录下的build/envsetup.sh文件,描述编译的命令
- 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.
要想使用这些命令,首先需要在android源码根目录执行. build/envsetup.sh
脚本设置环境
m:编译所有的模块
mm:编译当前目录下的模块,当前目录下要有Android.mk文件
mmm:编译指定路径下的模块,指定路径下要有Android.mk文件
以上三个命令都可以用-B选项来重新编译所有目标文件。强制clean编译
注:
1、make:不带任何参数,用于编译整个系统,编译时间比较长
2、如果只知道目标模块的名称,则建议使用make模块名的方式编译目标模块
3、一般的编译方式都会采用增量编译,即只编译发生变化的目标文件,但有时则需要重新编译所有目标文件,那么就可以使用make -B强制编译所有的目标文件
make -j32
mm -j8
source build/envsetup.sh //初始化编译环境,并引入一些辅助的shell函数
lunch XXX //编译选项,不同的项目不同
make -j8 //开启8个线程编译,可任选,具体根据编译服务器的核数而定
framework修改的验证
- 进入源码修改目录
mm
编译 - 在
out/target/product/xx/system【framework/lib】
目录下找到编译出的jar或者so - 如果是jar,替换
system/framework
对应的jar;如果是so,替换system/lib
对应的so - 确保权限是644【
chmod 644 file
】 reboot
【或者kill
引用库的对应程序,对于jar,最好先sync
一下再重启】
以上是关于Android ROM编译调试的主要内容,如果未能解决你的问题,请参考以下文章
Android 系统开发CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)