Android源码下device目录的分析

一般源码的编译前都会执行lunch命令,选择编译目标:
source build/envsetup.sh
lunch BUILD_BUILDTYPE
其中BUILDTYPE可以为user、userdebug、eng,排行越靠后,调试信息越多,权限越大,而其中的BUILD编译目标就是build目录下产品配置信息决定的。

vendorsetup.sh

build目录一般结构为:
build-> company -> product,在product同级的目录下可能有common目录,为所有产品共用。
在product目录下一般有vendorsetup.sh,这个脚本就是在envsetup.sh中被调用,envsetup.sh会遍历并且source源码目录下device和vendor(新版源码不推荐使用)下所有的vendorsetup.sh
vendorsetup.sh内容格式为:

add_lunch_combo rk3288_eng

通过上面语句,lunch菜单中将添加“rk3288_eng”选项。

AndroidProducts.mk

产品的实际属性由product目录下的AndroidProducts.mk,这个文件实际是一个散转,作用为包含其他命名的*.mk文件,这些文件下面可能会有各种以“PRODUCT_”开头的属性:PRODUCT_NAME、PRODUCT_MODEL、PRODUCT_BRAND等等。

BoardConfig.mk

通过上面的AndroidProducts.mk被包含进来,主要描述目标架构、硬件设备属性、编译器条件标识、boot地址、ramdisk大小等一系列硬件参数。

device.mk

也是通过AndroidProducts.mk被包含进来,主要描述该产品需要将哪些软件功能模块编译进镜像。

Android.mk

这个是Android源码树通用的模块Makefile,声明该目录在源码中的存在性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值