《Android深度探索》卷1 第九章笔记 1314 王宁

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Android深度探索》卷1 第九章笔记 1314 王宁相关的知识,希望对你有一定的参考价值。

第九章

本章主要学习了HALandroid的硬件抽象层,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。把对硬件的支持分成了两层,一层放在用户空间,一层放在内核空间,其中,硬件抽象层运行在用户空间,而Linux内核驱动程序运行在内核空间。LED驱动增加 HAL

第 步 编写 Linux 驱动

 “编写 Linux 驱动,从表明上看是废话,但如果要为 Linux 驱动添加 HAL,而且想尽量保护敏感数据。 Linux 驱动的代码就要尽量简洁,尽可能将业务逻辑放到 HALLibrary 中。

第 步:编写 HAL Library

HAL  Library 就是普通的 Linux Library  .so )文件。但这类库文件有一个接口。通过HAL_MODULE_INFO_ SYM 变量实现。 Service Library 就是通过在这个接口中定义的 ID 定位 HAL Library 的。

第 步:编写 Service Library

 Service Library 也是 Linux Library。 Service Library 可以是一般的 Linux Library,也可以是别的 Library。在本章的 LED 驱动例子中将 Service Libratγ 和刑I Library 合到了一起。也就是说, Service Library 就是 JNI Library.实际上这一步除了用 CIC件实现的*.so 库文件外,还应该包含一个用 Java 编写的服务管理类( ServiceManager)。 ServiceManager 会调用 Service Library。而 APK 程序会调用 ServiceManager 类米访问 Service Library

以上是关于《Android深度探索》卷1 第九章笔记 1314 王宁的主要内容,如果未能解决你的问题,请参考以下文章

Android深度探索与HAL驱动开发(卷1)-- 第九章随笔

《Android深度探索》(卷1)HAL与驱动开发 第九章心得体会

Android深度探索(卷1)HAL与驱动开发第九章总结

Andriod深度探索(卷1)HAL与驱动开发 第九章读书心得

Android深度探索读书笔记 第九章

Android深度探索--HAL与驱动开发----第九章读书笔记