Theme Preview

Hue:

You are using an outdated browser that does not support OKLCH colors. The color setting will not take effect.

Android源码模块编译

424 字

Android 系统源码单模块编译方法

一、编译指令

  • mmm:编译指定目录下的模块,不编译它所依赖的其它模块。
  • mma:编译当前目录下的模块及其依赖项。
  • mm:编译当前目录下的模块,不编译依赖模块。
  • mmma:编译指定路径下所有模块,并且包含依赖。

注意一般第一次使用 mm 进行编译时,可能会出现某些文件资源找不到,可以先使用 mma 编译相关依赖项,之后可以直接使用 mm 命令进行编译

二、编译步骤

2.1 初始化

这里以 Launcher 模块为例进行说明
在AOSP根目录执行:

//注意每次打开新的终端窗口都需要执行如下命令
source build/envsetup.sh
lunch 47

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/

//