Android 系统源码单模块编译方法
一、编译指令
- mmm:编译指定目录下的模块,不编译它所依赖的其它模块。
- mma:编译当前目录下的模块及其依赖项。
- mm:编译当前目录下的模块,不编译依赖模块。
- mmma:编译指定路径下所有模块,并且包含依赖。
注意一般第一次使用 mm 进行编译时,可能会出现某些文件资源找不到,可以先使用 mma 编译相关依赖项,之后可以直接使用 mm 命令进行编译
二、编译步骤
2.1 初始化
这里以 Launcher 模块为例进行说明
在AOSP根目录执行:
//注意每次打开新的终端窗口都需要执行如下命令 |
2.2 进入Settings的目录:
cd /AOSP/packages/apps/Launcher3 |
2.3 mm编译当前目录下的模块,不编译依赖模块
mm |
编译成功则如下图所示
三、安装
当修改了相关代码之后,我们向查看修改的效果那怎么办呢?有两种方式:
- 可以在编译完成后,借助 adb install -r apk路径直接将生成的 apk 文件安装到设备上,如果不是 APK,直接 push 对应的文件
- 可以编译好完成后,再使用make snod,重新生成 system.img,烧录进设备
这里因为Launcher模块编译之后会生成APK安装包,所以我们直接进行安装即可:
3.1 进入 APK目录
cd AOSP/out/target/product/sailfish/system/priv-app/Launcher3 |
3.2 adb安装
adb install -r Launcher3.apk |
四、参考
[ 1 ]:https://www.jianshu.com/p/f48eac038384
[ 2 ]:http://wuxiaolong.me/2018/07/25/AOSP2/