图书介绍

Android底层接口与驱动开发技术详解PDF|Epub|txt|kindle电子书版本网盘下载

Android底层接口与驱动开发技术详解
  • 陈强编著 著
  • 出版社: 北京:中国铁道出版社
  • ISBN:9787113147938
  • 出版时间:2012
  • 标注页数:548页
  • 文件大小:179MB
  • 文件页数:565页
  • 主题词:移动终端-应用程序-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Android底层接口与驱动开发技术详解PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1篇 基础篇2

第1章 Android概述2

1.1 智能手机世界2

1.1.1 何谓智能手机2

1.1.2 当前主流的智能手机系统3

1.2 Android的巨大优势4

1.2.1 系出名门4

1.2.2 强大的开发团队4

1.2.3 诱人的奖励机制5

1.3 搭建Android开发环境6

1.3.1 安装Android SDK的系统要求6

1.3.2 安装JDK、Eclipse、Android SDK6

1.3.3 设定Android SDK Home15

1.3.4 验证开发环境16

1.3.5 创建Android虚拟设备18

1.3.6 常见的几个问题19

1.4 Android模拟器24

1.4.1 Android模拟器简介24

1.4.2 模拟器和真机究竟有何区别24

1.4.3 模拟器简单总结25

第2章 在驱动开发之前所要做的工作28

2.1 什么是驱动28

2.1.1 驱动程序的魅力28

2.1.2 计算机中的驱动29

2.1.3 手机中的驱动程序29

2.2 简析Android安装文件30

2.2.1 Android SDK目录结构30

2.2.2 android.jar及内部结构31

2.2.3 SDK文档及阅读技巧32

2.2.4 SDK工具集33

2.3 解析Android SDK实例34

2.4 Android系统架构38

2.4.1 Android体系结构介绍38

2.4.2 Android应用工程文件组成40

2.4.3 应用程序的生命周期43

2.5 开源还是不开源45

2.5.1 雾里看花的开源45

2.5.2 从为什么选择Java谈为什么不开源驱动程序46

2.5.3 对驱动开发者来说是一把双刃剑47

第3章 Linux内核简析48

3.1 Linux基础48

3.1.1 Linux历史简介48

3.1.2 主要版本49

3.1.3 计算机业界的工业革命49

3.1.4 2007年带来的震撼杰作50

3.2 Android和Linux的关系50

3.2.1 继承与Linux50

3.2.2 Android和Linux内核的区别51

3.3 简析Linux内核53

3.3.1 内核的体系结构53

3.3.2 和Android密切相关的Linux内核知识55

3.4 分析Linux内核源码很有必要58

3.4.1 源码目录结构59

3.4.2 浏览源码的工具61

3.4.3 为什么用汇编语言编写内核代码62

3.4.4 Linux内核的显著特性62

3.4.5 学习Linux内核的方法70

第2篇 必备技术篇76

第4章 分析Android源码76

4.1 搭建Linux开发环境和工具76

4.1.1 搭建Linux开发环境76

4.1.2 设置环境变量77

4.1.3 安装编译工具77

4.2 获取Android源码78

4.3 分析并编译Android源码79

4.3.1 Android源码的结构80

4.3.2 编译Android源码84

4.3.3 运行Android源码85

4.3.4 实践演练——演示两种编译Android程序的方法86

4.4 编译Android Kernel90

4.4.1 获取Goldfish内核代码90

4.4.2 获取MSM内核代码93

4.4.3 获取OMAP内核代码93

4.4.4 编译Android的Linux内核93

4.5 运行模拟器95

4.5.1 Linux环境下运行模拟器的方法95

4.5.2 模拟器辅助工具——ADB96

第5章 驱动需要移植99

5.1 驱动开发需要做的工作99

5.2 Android移植101

5.2.1 移植的任务101

5.2.2 移植的内容102

5.2.3 驱动开发需要做的工作103

5.3 Android对Linux的改造103

5.3.1 Android的核心驱动103

5.3.2 Android对Linux内核文件的改动105

5.3.3 为Android构建Linux的操作系统107

5.4 内核空间和用户空间接口是一个媒介107

5.4.1 内核空间和用户空间的相互作用107

5.4.2 系统和硬件之间的交互108

5.4.3 使用Relay实现内核到用户空间的数据传输110

5.5 三类驱动程序113

5.5.1 字符设备驱动113

5.5.2 块设备驱动121

5.5.3 网络设备驱动125

第6章 HAL层深入分析127

6.1 认识HAL层127

6.1.1 HAL层的发展128

6.1.2 过去和现在的区别129

6.2 分析HAL层源码129

6.2.1 分析HAL moudle129

6.2.2 分析mokoid工程132

6.3 总结HAL层的使用方法141

6.4 Sensor(传感器)在HAL层的表现144

6.4.1 HAL层的Sensor代码144

6.4.2 总结Sensor编程的流程146

6.4.3 分析Sensor源码看Android API与硬件平台的衔接146

6.5 移植总结157

6.5.1 移植各个Android部件的方式157

6.5.2 移植技巧之一——不得不说的辅助工作158

第7章 Goldfish下的驱动解析165

7.1 staging驱动165

7.1.1 staging驱动概述165

7.1.2 Binder驱动程序166

7.1.3 Logger驱动175

7.1.4 Lowmemorykiller组件175

7.1.5 Timed Output驱动程序176

7.1.6 Timed Gpio驱动程序178

7.1.7 Ram Console驱动程序179

7.2 wakelock和early_suspend179

7.2.1 wakelock和early_suspend的原理179

7.2.2 Android休眠180

7.2.3 Android唤醒183

7.3 Ashmem驱动程序184

7.4 Pmem驱动程序187

7.5 Alarm驱动程序188

7.5.1 Alarm简析188

7.5.2 Alarm驱动的实现188

7.6 USB Gadget驱动程序190

7.7 Android Paranoid驱动程序191

7.8 Goldfish设备驱动192

7.8.1 Framebuffer驱动193

7.8.2 键盘驱动197

7.8.3 实时时钟驱动198

7.8.4 TTY终端驱动199

7.8.5 NandFlash驱动200

7.8.6 MMC驱动200

7.8.7 电池驱动200

第8章 MSM内核和驱动解析201

8.1 MSM基础201

8.1.1 高通公司介绍201

8.1.2 常见MSM处理器产品201

8.1.3 Snapdragon内核介绍203

8.2 移植MSM内核简介204

8.3 移植MSM205

8.3.1 Makefile文件205

8.3.2 驱动和组件207

8.3.3 设备驱动209

8.3.4 高通特有的组件211

第9章 OMAP内核和驱动解析214

9.1 OMAP基础214

9.1.1 OMAP简析214

9.1.2 常见OMAP处理器产品214

9.1.3 开发平台215

9.2 OMAP内核215

9.3 移植OMAP体系结构217

9.3.1 移植OMAP平台217

9.3.2 移植OMAP处理器220

9.4 移植Android专用驱动和组件224

9.5 OMAP的设备驱动226

第3篇 核心技术与应用篇232

第10章 显示系统驱动应用232

10.1 显示系统介绍232

10.1.1 Android的版本232

10.1.2 不同版本的显示系统233

10.2 移植和调试前的准备233

10.2.1 Framebuffer驱动程序233

10.2.2 硬件抽象层235

10.3 实现显示系统的驱动程序247

10.3.1 Goldfish中的Framebuffer驱动程序247

10.3.2 使用Gralloc模块的驱动程序250

10.4 MSM高通处理器中的显示驱动实现260

10.4.1 MSM中的Framebuffer驱动程序261

10.4.2 MSM中的Gralloc驱动程序263

10.5 OMAP处理器中的显示驱动实现271

第11章 输入系统驱动应用274

11.1 输入系统介绍274

11.1.1 Android输入系统的结构元素介绍274

11.1.2 我们的工作275

11.2 Input(输入)驱动276

11.3 模拟器的输入驱动290

11.4 MSM高通处理器中的输入驱动实现291

11.4.1 触摸屏驱动291

11.4.2 按键和轨迹球驱动297

11.5 OMAP处理器中的输入驱动实现300

11.5.1 触摸屏驱动程序300

11.5.2 键盘驱动程序300

第12章 振动器系统驱动303

12.1 振动器系统结构303

12.1.1 硬件抽象层304

12.1.2 JNI框架部分306

12.2 开始移植307

12.2.1 移植振动器驱动程序307

12.2.2 实现硬件抽象层308

12.3 在MSM平台实现振动器驱动309

第13章 音频系统驱动312

13.1 音频系统结构312

13.2 分析音频系统的层次313

13.2.1 层次说明313

13.2.2 Media库中的Audio框架314

13.2.3 本地代码317

13.2.4 JNI代码320

13.2.5 Java代码321

13.3 移植Audio系统的必备技术322

13.3.1 我们的工作322

13.3.2 分析硬件抽象层322

13.3.3 分析AudioFlinger中的Audio硬件抽象层的实现324

13.4 真正实现Audio硬件抽象层330

13.5 MSM平台实现Audio驱动系统330

13.5.1 实现Audio驱动程序330

13.5.2 实现硬件抽象层331

13.6 OSS平台实现Audio驱动系统335

13.6.1 OSS驱动程序介绍335

13.6.2 mixer336

13.7 ALSA平台实现Audio系统343

13.7.1 注册音频设备和音频驱动343

13.7.2 在Android中使用ALSA声卡344

13.7.3 在OMAP平台移植Android的ALSA声卡驱动352

第14章 视频输出系统驱动356

14.1 视频输出系统结构356

14.2 我们需要移植的部分358

14.3 分析硬件抽象层358

14.3.1 Overlay系统硬件抽象层的接口358

14.3.2 实现Overlay系统的硬件抽象层361

14.3.3 实现接口362

14.4 实现Overlay硬件抽象层363

14.5 在OMAP平台实现Overlay系统365

14.5.1 实现输出视频驱动程序365

14.5.2 实现Overlay硬件抽象层366

14.6 系统层调用Overlay HAL的架构372

14.6.1 调用Overlay HAL的架构的流程372

14.6.2 S3C6410 Android Overlay的测试代码376

第15章 OpenMax多媒体框架378

15.1 OpenMax基本层次结构378

15.2 分析OpenMax框架构成379

15.2.1 OpenMax总体层次结构379

15.2.2 OpenMax IL层的结构380

15.2.3 Android中的OpenMax383

15.3 实现OpenMax IL层接口383

15.3.1 OpenMax IL层的接口383

15.3.2 在OpenMax IL层中我们需要干什么389

15.3.3 研究Android中的OpenMax适配层390

15.4 在OMAP平台实现OpenMax IL392

15.4.1 实现文件392

15.4.2 分析TI OpenMax IL的核心393

15.4.3 实现TI OpenMax IL组件实例396

第16章 多媒体插件框架401

16.1 Android多媒体插件401

16.2 我们需要移植的内容402

16.3 OpenCore引擎403

16.3.1 OpenCore层次结构403

16.3.2 OpenCore代码结构404

16.3.3 OpenCore编译结构405

16.3.4 OpenCore OSCL409

16.3.5 实现OpenCore中的OpenMax部分411

16.3.6 OpenCore的扩展424

16.4 Stagefright引擎430

16.4.1 Stagefright代码结构430

16.4.2 Stagefright实现OpenMax接口430

16.4.3 Video Buffer传输流程434

第17章 传感器系统440

17.1 传感器系统的结构440

17.2 我们需要移植的内容442

17.2.1 移植驱动程序442

17.2.2 移植硬件抽象层443

17.2.3 实现上层部分444

17.3 在模拟器中实现传感器448

第18章 照相机系统454

18.1 Camera系统的结构454

18.2 我们需要移植的内容457

18.3 移植和调试457

18.3.1 V4L2驱动程序457

18.3.2 硬件抽象层464

18.4 实现Camera系统的硬件抽象层468

18.4.1 Java程序部分468

18.4.2 Camera的Java本地调用部分469

18.4.3 Camera的本地库libui.so470

18.4.4 Camera服务libcameraservice.so471

18.5 MSM平台实现Camera系统476

18.6 OMAP平台实现Camera系统479

第19章 Wi-Fi系统、蓝牙系统和GPS系统480

19.1 Wi-Fi系统480

19.1.1 Wi-Fi系统的结构480

19.1.2 需要移植的内容482

19.1.3 移植和调试482

19.1.4 OMAP平台实现Wi-Fi490

19.1.5 配置Wi-Fi的流程492

19.1.6 具体演练——在Android下实现Ethernet494

19.2 蓝牙系统495

19.2.1 蓝牙系统的结构495

19.2.2 需要移植的内容497

19.2.3 具体移植498

19.2.4 MSM平台的蓝牙驱动500

19.3 定位系统502

19.3.1 定位系统的结构502

19.3.2 需要移植的内容503

19.3.3 移植和调试504

第20章 电话系统517

20.1 电话系统基础517

20.1.1 电话系统简介517

20.1.2 电话系统结构519

20.2 需要移植的内容520

20.3 移植和调试520

20.3.1 驱动程序520

20.3.2 RIL接口522

20.4 电话系统实现流程分析525

20.4.1 初始启动流程525

20.4.2 request流程527

20.4.3 response流程530

第21章 其他系统532

21.1 Alarm警报器系统532

21.1.1 Alarm系统的结构532

21.1.2 需要移植的内容533

21.1.3 移植和调试534

21.1.4 模拟器环境的具体实现535

21.1.5 MSM平台实现Alarm536

21.2 Lights光系统537

21.2.1 Lights光系统的结构537

21.2.2 需要移植的内容538

21.2.3 移植和调试538

21.2.4 MSM平台实现光系统540

21.3 Battery电池系统541

21.3.1 Battery系统的结构541

21.3.2 需要移植的内容542

21.3.3 移植和调试542

21.3.4 模拟器中实现电池系统546

热门推荐