Android 编译系统

sancaiodm Android源码学习 2021-09-14 1750 0


//执行make命令会加载根目录中的Makefile,在这个文件内就一句话:include build/make/core/,所以会加载buile/core/,





在aosp的源码中aosp/build/envsetup.sh文件中有以下内容的介绍,在我们执行 source  build/ 命令后即可以使用在下面的命令,方便开发者

Run "m help" for help with the build system itself.

Invoke ". build/" from your shell to add the following functions to your environment:

- lunch:      lunch <product_name>-<build_variant>

              Selects <product_name> as the product to build, and <build_variant> as the variant to

              build, and stores those selections in the environment to be read by subsequent

              invocations of 'm' etc.

- tapas:      tapas [<App1> <App2> ...] [arm|x86|mips|arm64|x86_64|mips64] [eng|userdebug|user]

- croot:      Changes directory to the top of the tree, or a subdirectory thereof.     

- m:          Makes from the top of the tree.

- mm:         Builds and installs all of the modules in the current directory, and their


- mmm:        Builds and installs all of the modules in the supplied directories, and their


              To limit the modules being built use the syntax: mmm dir/:target1,target2.

- mma:        Same as 'mm'

- mmma:       Same as 'mmm'

- umake:      Call ninja directly to speed up build when there is no modifications to .mk or .bp files.

- provision:  Flash device with all required partitions. Options will be passed on to fastboot.

- cgrep:      Greps on all local C/C++ files.

- ggrep:      Greps on all local Gradle files.

- gogrep:     Greps on all local Go files.

- jgrep:      Greps on all local Java files.

- resgrep:    Greps on all local res/*.xml files.

- mangrep:    Greps on all local AndroidManifest.xml files.

- mgrep:      Greps on all local Makefiles and *.bp files.

- owngrep:    Greps on all local OWNERS files.

- sepgrep:    Greps on all local sepolicy files.

- sgrep:      Greps on all local source files.

- godir:      Go to the directory containing a file.

- allmod:     List all modules.

- gomod:      Go to the directory containing a module.

- pathmod:    Get the directory containing a module.

- refreshmod: Refresh list of modules for allmod/gomod.

Android Makefile中inherit-product函数和include的区别

android 在lunch选项中添加项目名