- Android板级支持与硬件相关子系统
- 韩超等
- 738字
- 2020-08-28 12:21:33
2.5 各个子系统的移植方式
Android中各个子系统的移植实现方式各不相同,主要是驱动程序和硬件抽象层两个方面的内容。在不同的Android开源版本中,有些硬件抽象层的实现方式也发生了变化。Android各个子系统的工作量各不相同,移植的内容和工作量也不相同。对于每一个子系统实现的内容需要分别考虑。
↘2.5.1 Android2.3中的实现方式
Android2.3作为一个广为使用的Android版本,其中很多子系统的实现方式比较典型。
Android2.3版本的各个子系统的BSP部分大部分继承自前面版本的Android系统,并且被Android4.x等后续版本继承。
Android2.3中各个子系统的BSP支持方式如表2-1所示。
表2-1 Android2.3中各个子系统的BSP支持方式
↘2.5.2 Android2.2及之前的实现方式
在Android2.2版本及之前,有些子系统曾经使用不同的方式实现。随着版本的升级,有些实现方式已经不再使用。
Android2.2及之前几个子系统的BSP支持方式如表2-2所示。
表2-2 Android2.2及之前几个子系统的BSP支持方式
以上列出的是结构变化较大的子系统。事实上,每个硬件相关的子系统在版本升级时,其结构都会发生变化,常见的变化是增加一些接口。
另外几个变化较大的子系统如下所示:
·用户输入系统的主干虽然都是基于Input设备,但是新旧版本中虚拟按键、校准的处理方法不同,为了支持NDK,Android 2.3将很多实现移到了本地层。
·音频子系统早期的若干个版本并不包括单独的策略部分。
·传感器子系统Android 2.2的版本并没有本地层的库实现,采取由JNI直接调用硬件抽象层的形式,并且硬件抽象层的接口和Android 2.3也并不相同。
↘2.5.3 Android4.x中的实现方式
Android4.x是Android比较新的版本,其中大部分子系统的实现方式和Android2.3相同,也有一部分子系统的结构做了改变,主要的改动在用户交互和多媒体部分,并且新增了标准化的近场通信子系统。
Android4.x中几个升级的子系统的BSP支持方式如表2-3所示。
表2-3 Android4.x中几个升级的子系统的BSP支持方式
近场通信、电源管理、本地时间和密钥等几个小型的硬件模块在Android4.0至Android 4.2版本被增加作为新的硬件抽象层。