1)source build/envsetup.sh
前面说过一般envsetup.sh一般做了如下几件事情:
1)加载编译时我们使用的基本函数命令:help、lunch、m、mm、mmm等。
2)查找vendor/厂商目录、device/厂商目录下的vendorsetup.sh,加载执行,添加厂商自己定义的产品编译选项。
3)一般Android原生代码里面可能会添加两个系统的默认选项:
add_lunch_combo generic-eng
add_lunch_combo simulator
2)查找vendorsetup.sh进行加载
在envsetup.sh结尾的地方,我们看到:
# Execute the contents of any vendorsetup.sh files we can find.
for f in `/bin/ls vendor/*/vendorsetup.sh vendor/*/*/vendorsetup.sh device/*/*/vendorsetup.sh 2> /dev/null`
do
echo "including $f"
. $f
done
unset f
addcompletions
查找vendor 以及device目录下的厂商自己 定义的vendorsetup.sh加载执行。所以如果我们自己需要定义自己的产品选项的话,就需要在vendor下创建自己公司的名字,然后新建一个vendorsetup.sh,里面添加上自己的产品编译选项。
如:我的fsl项目:
device/fsl/imx6/vendorsetup.sh内容:
add_lunch_combo sabresd_6dq-eng
add_lunch_combo sabresd_6dq-user
add_lunch_hadrware SboxF140AV01
add_lunch_hardware SboxF140CV01
add_lunch_project BASE
add_lunch_prohect Danoo
............
这里我们先看