Android HAL架构-概述

HAL(Hardware Abstract Layer)硬件抽象层。主要目的在于将硬件抽象化。硬件抽象化可以隐藏特定平台的硬件接口细节,为上面一层提供固定统一的接口,使其具有硬件无关性。这是从软件设计角度看。

Android HAL 安卓硬件抽象层。android系统采用分层结构,HAL层位于kernel和framework层之间,除了软件设计要素外,还有一些其它因素。比如版权/保护厂家利益因素。

Android基于Linux内核实现,Linux是GPL许可,即对源码的修改都必须开源,而Android是ASL许可,即可以随意使用源码,无需开源,因此将原本位于kernel的硬件驱动逻辑转移到Android平台来,就可以不必开源,从而保护了厂家的利益。因此Android就提供了一套访问硬件抽象层动态库的接口,各厂商在Android的硬件抽象层实现特定硬件的操作细节,并编译成so库,以库的形式提供给用户使用。(Android是一个开放的平台,并不是一个开源的平台。)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容