Android 开发之envsetup.sh
1,基本概述
Android源码下载之后一般编译之前都需要source环境变量build/envsetup.sh。脚本主要是一些基本函数,和配置编译工具和路径等。
export PATH=$PWD/bootable/bootloader/uboot-imx/tools:$PATH
export ARCH=arm
export CROSS_COMPILE=$PWD/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
然后就是查找一些vendorsetup.sh文件并执行:
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
2,函数介绍
下面主要介绍5个常用函数:
1)gettop
function gettop
{
local TOPFILE=build/core/envsetup.mk
if [ -n "$TOP" -a -f "$TOP/TOPFILE" ] ; then
echo $TOP
else
if [ -f $TOPFILE ] ; then
PWD= /bin/pwd
else
local HERE=$PWD
T=
while [ \( ! (\ -f $TOPFILE \) \) -a \( $PWD != "/" \) ] ; do
cd .. > /dev/null
T=`PWD= /bin/pwd`
done
cd $HERE > /dev/null
if [ -f "$T/TOPFILE" ] ; then
echo $T