Android 编译系统

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

aosp/build/core/Makefile

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

aosp/build/core/main.mk        

aosp/build/make/envsetup.sh

aosp/build/envsetup.sh

以上对定义编译规格与编译属性的常用文件


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



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


Invoke ". build/envsetup.sh" 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

              dependencies.

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

              dependencies.

              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选项中添加项目名


评论