码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2016-07-01 10:06:42      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:

第九章

本章主要学习了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 王宁

标签:

原文地址:http://www.cnblogs.com/wn1314/p/5631920.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!