多语言展示
当前在线:164今日阅读:55今日分享:34

Android HAL架构是什么

Android HAL架构由谷歌负责安卓系统开发的工程师Patrick Brady(帕特里特·布拉迪)在2008 Google I/O演讲中提出的,如下图;下面介绍Android HAL系统架构的组成的相关知识,供大家学习参考。
工具/原料

Android HAL架构图

方法/步骤
1

Android系统架构(Android-System-Architecture)由Linux内核层(Linux kernel)、硬件抽象层(HAL)、运行时库层(Runtime)、应用程序框架层(Application Framework)以及应用程序层(Application)组成。

2

Linux内核层(Linux kernel)Android基于Linux 2.6内核,但是它与Linux之间还是有很大的差别,比如Android在Linux内核的基础上添加了自己所特有的驱动程序。Linux内核层提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。

3

硬件抽象层(HAL,Hardware Abstraction Layer)是为了保护一些硬件提供商的知识产权而提出的,是为了避开linux的GPL束缚。思路是把控制硬件的动作都放到了Android HAL中,新架构、调整为 HAL stub 的观念 主要包含以下一些模块:Gps、Vibrator、Wifi、Copybit、Audio、Camera、Lights、Ril、Overlay等。

4

运行时库层(Android Runtime、Libraries)Android Runtime主要提供了核心类库Libraries包含SQLite 库、C/C++库的集合等…… 还有Dalvik虚拟机。

5

应用程序框架层(Application Framework)应用程序框架层提供开发Android应用程序所需的一系列API;我们在开发应用时都是通过框架来与Android底层进行交互,接触最多的就是应用框架层了。

推荐信息