Android开发中的m, mm, mmm命令用于编译源代码,它们的主要区别在于编译的范围和目标。
-
m命令:用于从Android源码的根目录开始编译所有的模块。这个命令会编译整个Android源代码树,确保所有必要的模块都被编译12。 -
mm命令:用于编译当前目录下的模块。这个命令需要当前目录下存在一个Android.mk文件,该文件定义了如何构建当前目录下的模块。如果当前目录下没有Android.mk文件,mm命令会尝试向上查找最近的Android.mk文件2。 -
mmm命令:用于编译指定路径下的模块。这个命令需要指定的路径下存在一个Android.mk文件,该文件定义了如何构建指定路径下的模块。这个命令允许开发者指定一个或多个目录进行编译,这些目录应该是包含Android.mk文件的目录12。
在使用这些命令之前,通常需要在Android源码根目录执行build/envsetup.sh脚本来设置环境,并且可能需要使用lunch命令来选择一个特定的构建变种13。这些命令是Android源码编译过程中的重要工具,它们帮助开发者有效地管理和编译源码中的各个模块。
cd 编译目录, 编译指定路径下的模块.
mmm xxx/xxx
Android源码编译命令汇总_android make dist-优快云博客
安卓使用make 模块名编译,会编译依赖模块(android.bp)
make test
make [module_name] 无参数,则表示编译整个Android代码
如果没有参数,默认是编译整个代码,如果有module_name,是会遍历module,编译指定的module
Android 编译时:m、mm、mmm、mma、mmma的区别-优快云博客
m:编译整个安卓系统
mm:编译当前目录下的所有模块,但不编译它们的依赖,当前目录下需要有Android.mk这个makefile文件,否则就往上找最近的Android.mk文件。
mma: 包括编译其依赖。
mmm:编译指定路径下的模块,但不编译它们的依赖,需要指定模块路径(必须为该模块的根目录,包含Android.mk的目录)。
mmma:包括编译其依赖。
android 单编和正编_mmma 单编android-优快云博客
4.2、mm
先进入目录:
cd packages/apps/Settings/
复制代码
再编译
mm
复制代码
编译当前目录下的模块,它和 mmm 一样,不编译依赖模块。
4.3、mma 需要到指定的目录下进行执行此代码[例:cd vendor/zhao/packcage/Factorykit]
编译当前目录下的模块及其依赖项。
4.4、mmma [module_path]
编译指定路径下所有模块,且包含依赖
打包apk进行测试
进入到apk输出的目录
adb shell -> adb root-> adb remount->adb push *.apk system/app/包名
2870

被折叠的 条评论
为什么被折叠?



