| 商家名称 | 信用等级 | 购买信息 | 订购本书 |
![]() |
Android底层开发技术实战详解:内核、移植和驱动(作者王振丽) | ![]() |
|
![]() |
Android底层开发技术实战详解:内核、移植和驱动(作者王振丽) | ![]() |
![Android底层开发技术实战详解:内核、移植和驱动 [平装]](http://img.reader8.net/uploadfile/2012/1011/20121011030352410.jpg)
《Android底层开发技术实战详解:内核、移植和驱动》适合Android研发人员及Android爱好者学习,也可以作为相关培训学校和大专院校相关专业的教学用书。
第1章Android底层开发基础
1.1什么是驱动
1.1.1驱动程序的魅力
1.1.2电脑中的驱动
1.1.3手机中的驱动程序
1.2开源还是不开源的问题
1.2.1雾里看花的开源
1.2.2从为什么选择Java谈为什么不开源驱动程序
1.2.3对驱动开发者来说是一把双刃剑
1.3Android和Linux
1.3.1Linux简介
1.3.2Android和Linux的关系
1.4简析Linux内核
1.4.1内核的体系结构
1.4.2和Android密切相关的Linux内核知识
1.5分析Linux内核源代码很有必要
1.5.1源代码目录结构
1.5.2浏览源代码的工具
1.5.3为什么用汇编语言编写内核代码
1.5.4Linux内核的显著特性
1.5.5学习Linux内核的方法
第2章分析Android源代码
2.1搭建Linux开发环境和工具
2.1.1搭建Linux开发环境
2.1.2设置环境变量
2.1.3安装编译工具
2.2获取Android源代码
2.3分析并编译Android源代码
2.3.1Android源代码的结构
2.3.2编译Android源代码
2.3.3运行Android源代码
2.3.4实践演练——演示编译Android程序的两种方法
2.4编译Android Kernel
2.4.1获取Goldfish内核代码
2.4.2获取MSM内核代码
2.4.3获取0MAP内核代码
2.4.4编译Android的Linux内核
2.5运行模拟器
2.5.1Linux环境下运行榭以器的方法
2.5.2模拟器辅助工具——adb
第3章驱动需要移植
3.1驱动开发需要做的工作
3.2Android移植
3.2.1移植的任务
3.2.2移植的内容
3.2.3驱动开发的任务
3.3Android对Linux的改造
3.3.1Android对Linux内核文件的改动
3.3.2为Android构建Linux的操作系统
3.4内核空间和用户空间接口是一个媒介
3.4.1内核空间和用户空间的相互作用
3.4.2系统和硬件之间的交互
3.4.3使用Relay实现内核到用户空间的数据传输
3.5三类驱动程序
3.5.1字符设备驱动程序
3.5.2块设备驱动程序
3.5.3网络设备驱动程序
第4章HAL层深入分析
4.1认识HAL层
4.1.1HAL层的发展
4.1.2过去和现在的区别
4.2分析HAL层源代码
4.2.1 分析HAL moudle
4.2.2分析mokoid工程
4.3总结HAL层的使用方法
4.4传感器在HAL层的表现
4.4.1HAL层的Sensor代码
4.4.2总结Sensor编程的流程
4.4.3分杯sensor源代码看Android API与硬件平台的衔接
4.5移植总结
4.5.1移植各个Android部件的方式
4.5.2移植技巧之一——不得不说的辅助工作
第5章Goldfish下的驱动解析
5.1staging驱动
5.1.1staging驱动概述
5.1.2Binder驱动程序
5.1.3Logger驱动程序
5.1.4Lowmemorykiller组件
5.1.5Timed Output驱动程序
5.1.6Timed Gpi0驱动程序
5.1.7Ram Console驱动程序
5.2wakelock和early_suspend
5.2.1wakelock和early_suspend的原理
5.2.2Android休眠
5.2.3Android唤醒
5.3Ashmem驱动程序
5.4Pmem驱动程序
5.5Alarm驱动程序
5.5.1Alarm简析
5.5.2Alarm驱动程序的实现
5.6USB Gadget驱动程序
5.7Android Paranoid驱动程序
5.8Goldfish设备驱动
5.8.1FrameBuffer驱动
5.8.2键盘驱动
5.8.3实时时钟驱动程序
5.8.4TTY终端驱动程序
5.8.5NandFlash驱动程序
5.8.6MMC驱动程序
5.8.7电池驱动程序
第6章MSM内核和驱动解析
6.1MSM基础
6.1.1常见MSM处理器产品
6.1.2Snapdragon内核介绍
6.2移植MsM内核简介
6.3移植MSM
6.3.1Makefile文件
6.3.2驱动和组件
6.3.3设备驱动
6.3.4高通特有的组件
第7章OMAP内核和驱动解析
7.1OMAP基础
7.1.1OMAP简析
7.1.2常见OMAP处理器产品
7.1.3开发平台
7.2OMAP内核
7.3移植OMAP体系结构
7.3.1移植OMAP平台
7.3.2移植OMAP处理器
7.4移植Android专用驱动和组件
7.5OMAP的设备驱动
第8章显示系统驱动应用
8.1显示系统介绍
8.1.1Android的版本
8.1.2不同版本的显示系统
8.2移植和调试前的准备
8.2.1FrameBuffer驱动程序
8.2.2硬件抽象层
8.3实现显示系统的驱动程序
……
第9章输入系统驱动应用
第10章振动器系统驱动
第11章音频系统驱动
第12章视频输出系统驱动
第13章OpenMax多媒体框架
第14章多媒体插件框架
第15章传感器系统
第16章照相机系统
第17章Wi—Fi系统、蓝牙系统和GPS系统
第18章电话系统
第19章其他系统
版权页:
插图:
Wi—Fi系统Java层的核心是根据IWifiManger接口所创建的Binder服务器端和客户端,服务器端是WifiService,客户端是WifiManger。
编译IWiflManger.aidl生成文件IWiflManger.java,并生成IWifiManger.Stub(服务器端抽象类)和IWifiManger.Stub.Proxy(客户端代理实现类)。WifiService通过继承IWifiManger.Stub实现,而客户端通过9etService()函数获取IWifiManger.Stub.Proxy(即Service的代理类),将其作为参数传递给WifiManger,供其与WifiService通信时使用。
Wi—Fi系统Java部分的核心是根据IWifiManager接口所创建的Binder服务器端和客户端,服务器端是WifiService,客户端是WifiManager。具体结构如图17—4所示。
图17—4中主要构成元素的具体说明如下所示。
(1)WiFiManger是Wi—Fi部分与外界的接口,用户通过它来访问Wi—Fi的核心功能。WifiWatchdogService这一系统组件也是用WifiManger来执行一些具体操作。
(2)WifiService是服务器端的实现,作为Wi—Fi的核心,处理实际的驱动加载、扫描、链接/断开等命令,以及底层上报的事件。,对于主动的命令控制,Wi—Fi是一个简单的封装,针对来自客户端的控制命令,调用相应的WifiNative底层实现。
当接收到客户端的命令后,一般会将其转换成对应的自身消息塞入消息队列中,以便客户端的调用可以及时返回,然后在WifiHandler的handleMessage()中处理对应的消息。而底层上报的事件,WifiService则通过启动WifiStateTracker来负责处理。WifiStateTracker和wifiMonitor的具体功能如下所示。
WifiStateTracker除了负责WiFi的电源管理模式等功能外,其核心是WifiMonitor所实现的事件轮询机制,以及消息处理函数handleMessage()。
WifLMonitor通过开启一个MonitorThread来实现事件的轮询,轮询的关键函数是前面提到的阻塞式函数WifiNative.waitForEvent()。获取事件后,WifiMonitor通过一系列的Handler通知给WifiStateTracker。这里WifiMonitor的通知机制是将底层事件转换成WifiStateTracker所能识别的消息,塞入WifiStateTracker的消息循环中,最终在handleMessage()中由WifiStateTracker完成对应的处理。
相关阅读:
更多图书资讯可访问读书人图书频道:http://www.reAder8.cn/book/