浅谈android源码之device

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都做了大量定制化操作,这里面的东西远不止这些东西,这里不再赘述,有过有兴趣的话可以在下方评论区讨论,感谢您的阅读!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android源码中的device目录是指位于AOSP(Android开源项目)根目录下的一个特定目录,用于存放设备制造商特定的代码和配置文件。每个设备制造商都可以在device目录下为自己的设备添加定制化的代码和配置,以便使Android系统在不同的设备上运行时能够充分发挥其功能和性能。 在device目录下,通常会有一个厂商特定的目录,例如"vendor"、"samsung"、"xiaomi"等,然后再细分为各个特定的设备型号目录,例如"samsung/galaxy_s10"、"xiaomi/mi_9"等。每个设备型号目录下都包含了该设备的特定代码、配置文件、驱动程序等。 设备目录中的主要内容包括: 1. 设备配置文件:这些文件定义了设备的特性、硬件配置和功能等,以便Android系统可以正确地与设备硬件交互。 2. 驱动程序:设备目录下可能包含一些特定设备的驱动程序,用于与设备的硬件进行交互和控制,例如屏幕、摄像头、传感器等。 3. 校准文件:某些设备需要进行校准以获得更好的性能和准确性,设备目录下可能包含了这些校准文件。 4. 音频配置文件:设备目录中可能包含某些设备特定的音频配置文件,用于优化音频性能和设置设备的音频参数。 除了上述内容,设备目录下可能还包含一些特定设备的应用程序、ROM文件等。这些内容可以根据设备制造商的需要进行自定义和添加,以实现更好的用户体验和设备性能。 总之,Android源码中的device目录提供了一个平台,让不同的设备制造商能够为自己的设备添加特定的定制代码和配置,以便实现更好的设备适配性和性能优化。这也是Android系统的开放性和可定制性的一个重要体现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值