浅谈android源码之device
文章目录1. 前言2. 目录结构3. 其他1. 前言device目录为平台产品定制目录,这边将以hisi平台为例,讲一下结构设计思路,但这里并不会涉及到源码设计,仅供参考。2. 目录结构定制的目录如下:下面说一下重要的文件或者目录:1.vendorsetup.sh主要作用是为lunch菜单添加新的产品项,这里是出于平台定制化考虑。里面内容如下:add_lunch_combo O...
1. 前言
device目录为平台产品定制目录,这边将以某平台为例,讲一下结构设计思路,但这里并不会涉及到源码设计,仅供参考。
2. 目录结构
定制的目录如下:
下面说一下重要的文件或者目录:
1.vendorsetup.sh
主要作用是为lunch菜单添加新的产品项,这里是出于平台定制化考虑。
里面内容如下:
add_lunch_combo Orange-eng
add_lunch_combo Orange-user
2.AndroidProducts.mk
产品的实际属性由product目录下的AndroidProducts.mk,这个文件实际是一个散转,作用为包含其他命名的*.mk文件,这些文件下面可能会有各种以“PRODUCT_”开头的属性:PRODUCT_NAME、PRODUCT_MODEL、PRODUCT_BRAND等等。
内容如下:
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/Orange.mk
3.BoardConfig.mk
通过上面的AndroidProducts.mk被包含进来,主要描述目标架构、硬件设备属性、编译器条件标识、boot地址、ramdisk大小等一系列硬件参数。
4.Orange.mk
也是通过AndroidProducts.mk被包含进来,我们在这里定义了一些变量以及属性,并包含了devie.mk的内容。
5.devie.mk
这里描述该产品需要将哪些软件功能模块编译进镜像,定义默认属性和拷贝之类的操作,还有就是在这里包含了customer.mk
6.customer.mk
我们在这里设置了一些系统默认属性值。
7.xxx_customization
这个目录为平台定制化目录,平台定制化核心目录。
3. 其他
不同的芯片厂家及开发平台对device都做了大量定制化操作,这里面的东西远不止这些东西,这里不再赘述,有过有兴趣的话可以在下方评论区讨论,感谢您的阅读!
更多推荐
所有评论(0)