Android 编译模块 (小记)

1.整编

source build/envbuild.sh
lunch xxx
make

2.单独编译模块

2.1 去Android.bp 中找模块名

比如我想编译system/core/fastboot,那么我就去找这个路径下的Android.bp/ Android.mk
Android.bp 中找每个模块的name就行
在这里插入图片描述
然后直接make这个name

make fastboot_test 2>&1 | tee fastboot.log

结果:
在这里插入图片描述

2.2 Android.mk中找模块名

在这里插入图片描述

LOCAL_PACKAGE_NAME := Cit

在根目录下:

 make Cit 2>&1 

在这里插入图片描述

2.3 mm/mmm

mmm命令

用于在源码根目录编译指定模块,参数为模块的相对路径。只能在第一次编译后使用。比如要编译Phone部分源码,需要在终端中执行以下命令:

mmm packages/apps/phone 

mm命令

用于在模块根目录编译这个模块。只能在第一次编译后使用。例如要编译Phone部分源码,需要在终端中执行以下命令:

$cd packages/apps/phone  
$mm 

但是这种方式不适合上面那种Android.bp 中 只有name的模块。

2.4 实例

mm

如果在根目录下:

mm system/core/fastboot/ 2>&1 | tee fastboot.log

这个提示不知道是不是没执行编译:
在这里插入图片描述

所以还是需要去模块根目录使用mm!
在这里插入图片描述

在这里插入图片描述

mmm

mmm system/core/fastboot/ 2>&1 | tee fastboot.log

这个看的比较靠谱:
在这里插入图片描述


Ref: https://blog.csdn.net/letmefish/article/details/53436637

猜你喜欢

转载自blog.csdn.net/weixin_40557160/article/details/130481613