Android系统编译环境变量的设置

编译之前我们一般都怎么做?

我们在编译android之前,通常会输入一些命令,比如:

. ./bulid/envsetup.sh

...

lunch

...

make

...


这里的envsetup.sh就是设置android的编译环境,初始化各种变量,比如设备类型什么的,下面是我在我的板子上执行上述命令的结果:

mic@micpc:~/work/android4.0.4$ . ./build/envsetup.sh 
including device/moto/stingray/vendorsetup.sh
including device/moto/wingray/vendorsetup.sh
including device/samsung/smdk4x12/vendorsetup.sh
including sdk/bash_completion/adb.bash

##这里看到,加载envsetup.sh后会加载device目录下其他的一些vendorsetup.sh过来。
##另外adb.bash是什么?我也不清楚,看看老罗怎么说。
##“在sdk/bash_completion目录下的adb.bash文件也会加载到当前终端来,它是用来实现adb命令的bash completion功能的。
##也就是说,加载了该文件之后,我们在运行adb相关的命令的时候,通过按tab键就可以帮助我们自动完成命令的输入”


#然后我们又执行了lunch命令,这个命令是在envsetup.sh中实现的。
mic@micpc:~/work/android4.0.4$ lunch

You're building on Linux

Lunch menu... pick a combo:
     1. full-eng
     2. full_x86-eng
     3. vbox_x86-eng
     4. full_stingray-userdebug
     5. full_wingray-userdebug
     6. full_smdk4x12-userdebug
     7. full_smdk4x12-eng

Which would you like? [full-eng] 6

##可以看到,终端输出了一个菜单,并让我们选择一个选项,我选择的是6,然后就会打印出如下信息,这些变量就是我们编译前要设置好到系统变量。通过这些变量,
##我们就配置好了android的编译环境。

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.4
TARGET_PRODUCT=full_smdk4x12
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=IMM76D
============================================

envsetup.sh干啥用?

/bulid/envsetup.sh这个脚本中实现了很多功能函数,上面的lunch,还有m,mm,mmm等。

加载vendorsetup.sh,添加lunch

在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

它的作用是遍历 vendor目录和device目录下的vendorsetup.sh,

1.通过echo把这个vnedorsetup.sh打印出来,就是我们前面看到的"

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值