已开通新的博客,后续文字都会发到新博客
https://www.0xforee.top
Android 编译系统解析系列文档
编译系统入口envsetup.sh解析
解析lunch的执行过程以及make执行过程中include文件的顺序
关注一些make执行过程中的几个关键点
对一些独特的语法结构进行解析
目录
Android 编译系统分析之lunch分析
编译一个android Project,我们需要使用到makefile文件,通过makefile文件的规则我们来构建整个Project的编译过程,那么在make之前,首先我们会执行以下命令:
source build/envsetup.sh
lunch project_name
make -j32 ( SHOW_COMMANDS=true )
envsetup.sh脚本
我们先来看一下source build/envsetup.sh
做了什么?
定义函数
在envsetup.sh
中定义了很多函数,函数列表大致如下:
function hmm()
function get_abs_build_var()
function get_build_var()
function check_product()
function check_variant()
function printconfig()
function choosecombo()
function add_lunch_combo()
function print_lunch_menu()
function lunch()
function gettop
function m()
function findmakefile()
function mm()
function mmm()
function mma()
function mmma()
function croot()
function ggrep()
function jgrep()
function cgrep()
function resgrep()
function mangrep()
function sepgrep()
function getprebuilt
function smoketest()
function runtest()