http://blog.csdn.net/luoshengyang/article/details/6567257

Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux内核驱动程序运行在 内核空间

学习Android硬件抽象层,对理解整个Android整个系统,都是极其有用的,因为它从下到上涉及到了Android系统的硬件驱动层、硬件抽象层、运行时库和应用程序框架层等等,下面这个图阐述了硬件抽象层在Android系统中的位置,以及它和其它层的关系:

在学习Android硬件抽象层的过程中,我们将会学习如何在内核空间编写硬件驱动程序、如何在硬件抽象层中添加接口支持访问硬件、如何在系统启动时提供硬件访问服务以及 如何编写JNI使得可以通过Java接口来访问硬件,而作为中间的一个小插曲,我们还将学习一下如何在Android系统中添加一个C可执行程序来访问硬件驱动程序。由于这是一个系统的学习过程,笔者将分成六篇文章来描述每一个学习过程,包括:

一.在Android内核源代码工程中编写硬件驱动程序。

二.在Android系统中增加C可执行程序来访问硬件驱动程序。

三.在Android硬件抽象层增加接口模块访问硬件驱动程序。

四.在Android系统中编写JNI方法在应用程序框架层提供Java接口访问硬件。

五.在Android系统的应用程序框架层增加硬件服务接口。

六.在Android系统中编写APP通过应用程序框架层访问硬件服务。

更多相关文章

  1. android的 各种权限,有个印象就好
  2. E/ServiceManager( 54): add_service('led',0x35) uid=10028 - P
  3. Android(安卓)M 新的运行时权限开发者需要知道的一切 (安卓6.0新
  4. Android(安卓)App兼容android10.0系统需要修改那些东西,看这个就
  5. 搬砖:深入浅出 - Android系统移植与平台开发(五)- 编译Android源码(
  6. Android权限目录
  7. Android(安卓)9 Pie 兼容性常见问题及注意事项
  8. Ubuntu系统连接Android真机测试
  9. Android系统工具之自动化测试(2)

随机推荐

  1. Android内容提供者使用及创建
  2. 使用线程更新UI
  3. android中singleTask的home键的问题
  4. Android搭建opencv环境(超详细)
  5. 解决eclipse中执行程序提示“Your projec
  6. Android(安卓)Studio中Gradle的Daemon
  7. Android界面显示_视图Choreographer控制
  8. android设备与蓝牙模块之间交互(蓝牙命令,
  9. Android快捷便利但不常被使用的原生工具
  10. Android(安卓)2D游戏引擎1