《深入理解Android系统》[70M]百度网盘|pdf下载|亲测有效
《深入理解Android系统》[70M]百度网盘|pdf下载|亲测有效

深入理解Android系统 pdf下载

出版社 清华大学出版社
出版年 2015-07
页数 390页
装帧 精装
评分 8.6(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供深入理解Android系统电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

编辑推荐

  探索和品味Android大师们的内核设计艺术
  ? 全面剖析进程/线程、内存管理、Binder机制、显示系统、多媒体管理、输入系统等核心知识在Android中的实现原理。
  ? 源码分析+全真示例+图片解析=更易于理解的思维路径。
  ? 由浅入深,由总体框架到细节实现,快速获取对Android系统的二次开发能力。
  ? 教授精髓,精讲精炼。赠送源码,拿来就用。

内容简介

  本书内容共 18章,循序渐进地分析了整个 Android系统的基本架构知识,从获取源码开始讲起,依次讲解了 Android系统介绍,包括获取并编译 Android源码,分析 JNI,内存系统架构详解,硬件抽象层架构详解, Binder通信机制详解, init启动进程详解, Zygote进程详解,System进程详解,应用程序进程详解, ART机制架构详解, Sensor传感器系统架构详解,蓝牙系统架构详解, Android多媒体框架架构详解,音频系统框架架构详解,视频系统架构详解, WebKit系统架构详解,Android 5.0中的 WebView,Wi-Fi系统架构详解等内容。本书几乎涵盖了所有 Android系统架构的主要核心内容,讲解方法通俗易懂并且详细,不但适合应用高手们学习,也特别便于初学者学习和理解。
  本书适合 Android驱动开发者、Linux开发人员、Android物联网开发人员、Android爱好者、Android源码分析人员、Android应用开发人员、Android传感器开发人员、 Android智能家居开发人员、 Android可穿戴设备人员的学习,也可以作为相关培训学校和大专院校相关专业的教学用书。

目录

第1章 获取并编译 Android源码 ................... 1
1.1 获取 Android源码 ..................................... 1
1.2 分析 Android源码结构 ............................. 6
1.3 分析源码中提供的接口 .......................... 17
1.4 编译源码 .................................................. 26
1.5 编译源码生成 SDK ................................. 30
第2章 分析 JNI .......................................... 35
2.1 JNI基础 ................................................... 35
2.2 分析 MediaScanner .................................. 38
2.3 分析 Camera系统的 JNI ......................... 54
2.4 Java与 JNI基本数据类型转换 ............... 60
2.5 JNIEnv接口 ............................................. 61
2.6 开发 JNI程序 .......................................... 62
第3章 内存系统架构详解............................ 66
3.1 分析 Android的进程通信机制 ............... 66
3.2 分析匿名共享内存子系统 ...................... 87
3.3 分析 C++访问接口层 ............................ 103
3.4 分析 Java访问接口层 ........................... 115
第 4章 硬件抽象层架构详解 ...................... 120
4.1 HAL基础 ............................................... 120
4.2 分析 HAL module架构 ......................... 123
4.3 分析文件 hardware.c .............................. 126
4.4 分析硬件抽象层的加载过程 ................ 128
4.5 分析硬件访问服务 ................................ 132
4.6 分析官方实例 ........................................ 134
4.7 HAL和系统移植 ................................... 144
4.8 开发自己的 HAL ................................... 150
第 5章 Binder通信机制详解 ..................... 155
5.1 分析 Binder驱动程序 ........................... 155
5.2 Binder封装库 ........................................ 179
5.3 初始化 Java层 Binder框架 .................. 188
5.4 实体对象 binder_node ........................... 190
5.5 本地对象 BBinder .................................. 194
5.6 引用对象 binder_ref ............................... 205
5.7 代理对象 BpBinder ................................ 208
第 6章 init启动进程详解 ........................... 213
6.1 什么是 init进程 ..................................... 213
6.2 入口函数 ................................................ 214
6.3 init配置文件 .......................................... 217
6.4 解析 Service ........................................... 223
6.5 解析 on ................................................... 230
6.6 init控制 Service ..................................... 233
6.7 启动属性服务 ........................................ 243
第 7章 Zygote进程详解 ............................ 253
7.1 Zygote基础 ............................................ 253
7.2 启动 Zygote ............................................ 254
第 8章 System进程详解 ........................... 271
8.1 启动前的准备 ........................................ 271
8.2 分析 SystemServer ................................. 272
8.3 第一个启动的 ServiceEntropyService .... 275
8.4 生成并管理日志文件 ............................ 278
8.5 分析 DiskStatsService ............................ 285
8.6 监测系统内部存储空间的状态 ............ 289
8.7 分析实现性能统计 ................................ 292
8.8 剪贴板服务 ............................................ 302
第 9章 应用程序进程详解.......................... 309
9.1 创建应用程序 ........................................ 309
9.2 启动线程池 ............................................ 320
9.3 创建信息循环 ........................................ 322
第 10章 ART机制架构详解 ....................... 324
10.1 分析 ART的启动过程 ........................ 324
10.2 进入 main()主函数 ............................... 357
10.3 查找目标类 .......................................... 358
10.4 类操作 .................................................. 368
10.5 实现托管操作 ...................................... 370
第 11章 Sensor传感器系统架构详解 ........ 376
11.1 Android传感器系统概述 .................... 376
11.2 Java层详解 .......................................... 377
11.3 Frameworks层详解 ............................. 383
11.4 JNI层详解 ........................................... 396
11.5 HAL层详解 ......................................... 425
第 12章 蓝牙系统架构详解 ....................... 435
12.1 短距离无线通信技术概览 .................. 435
12.2 蓝牙技术基础 ...................................... 437
12.3 蓝牙规范详解 ...................................... 440
12.4 低功耗蓝牙协议栈详解 ...................... 445
12.5 TI公司的低功耗蓝牙 .......................... 448
12.6 分析 Android系统中的蓝牙模块 ....... 456
12.7 分析蓝牙模块的源码 .......................... 458
12.8 Android系统的低功耗蓝牙协议栈 .... 459
第 13章 Android多媒体框架架构详解 ....... 498
13.1 Android多媒体系统介绍 .................... 498
13.2 OpenMax框架详解 ............................. 499
13.3 OpenCore框架详解 ............................. 512
13.4 StageFright框架详解 ........................... 532
第 14章 音频系统框架架构详解 ................ 554
14.1 硬件架构的发展趋势 .......................... 554
14.2 音频系统基础 ...................................... 557
14.3 音频系统的层次 .................................. 559
14.4 Audio系统的硬件抽象层 ................... 567
14.5 Kernel Driver实现 ............................... 575
14.6 实现编/解码过程 ................................. 582
第 15章 视频系统架构详解 ....................... 594
15.1 视频输出系统 ...................................... 594
15.2 MediaPlayer架构详解 ......................... 602
15.3 VideoView详解 ................................... 628
第 16章 WebKit系统架构详解 .................. 635
16.1 WebKit系统目录 ................................. 635
16.2 Java层的基本框架 .............................. 636
16.3 Java层的主要类 .................................. 637
16.4 数据载入器架构 .................................. 639
16.5 Java层对应的 C/C++类库 .................. 640
16.6 分析 WebKit的操作过程 .................... 642
16.7 WebViewCore详解 ............................. 645
第 17章 Android 5.0中的 WebView .......... 652
17.1 WebView架构基础 ............................. 652
17.2 WebView类简介 ................................. 654
17.3 WebViewProvider接口 ....................... 656
17.4 WebViewChromium详解 .................... 659
17.5 WebViewChromiumFactoryProvider 详解 ........ 660
17.6 AwContents架构 ................................. 663
17.7 实现 Mixed Content模式 .................... 666
17.8 引入第三方 Cookie .............................. 667
第 18章 Wi-Fi系统架构详解...................... 670
18.1 Wi-Fi系统基础 .................................... 670
18.2 Wi-Fi本地部分架构 ............................ 672
18.3 Wi-Fi JNI部分架构 ............................. 676
18.4 Java FrameWork部分的源码 .............. 677
18.5 Setting设置架构 .................................. 689

前言/序言

  2007年 11月 5日,谷歌公司宣布基于 Linux平台的开源手机操作系统 Android诞生,该平台号称是首个为移动终端打造的真正开放和完整的移动软件,本书作者将和广大读者一起共同领略这款系统的神奇之处。
  ? 市场占有率高居第一
  截至 2014年 9月,Android在手机市场上的占有率从 2013年的 68.8%上升到 85%。而 iOS则从去年的 19.4%下降到 15.5%,WP系统从原来的 2.7%,小幅上升至 3.6%。从数据上看, Android平台占据了市场的主导地位。
  由数据可以看出 Android市场的占有率增加幅度较大,WP市场小幅增长,但 iOS却有所下降。就目前来看,智能手机的市场已经饱和,大多数用户都在各个平台中转换。而就在这样一个市场上, Android还增长了 10%左右的占有率确实不易。
  ? 为开发人员提供了平台
  (1)保证开发人员可以迅速转型进行 Android应用开发
  Android应用程序是通过 Java语言开发的,开发人员只要具备 Java开发基础,就能很快上手并掌握。作为单独的 Android应用开发,对 Java编程门槛的要求并不高,即使是没有编程经验的“门外汉”,也可以在突击学习 Java之后学习 Android。另外, Android完全支持 2D、3D和数据库,并且和浏览器实现了集成。所以通过 Android平台,程序员可以迅速、高效地开发出绚丽多彩的应用,例如,常见的工具、浏览器和游戏等。
  (2)定期举办奖金丰厚的 Android大赛
  为了吸引更多的用户使用 Android开发程序,谷歌已经成功举办了奖金为数千万美元的开发者竞赛,鼓励开发人员创建出创意十足、十分有用的软件。这种大赛对开发人员来说,不但能练习自己的开发技术,并且高额的奖金也是学员们学习的动力。
  (3)开发人员可以利用自己的作品赚钱
  为了能让 Android平台吸引更多的关注,谷歌提供了一个专门下载 Android应用的门店 Android Market。在这个门店中允许开发人员发布应用程序,也允许 Android用户下载自己喜欢的程序。作为开发者,需要申请开发者账号,申请后才能将自己的程序上传到 Android Market,并且可以对自己的软件进行定价。只要所开发的软件程序足够吸引人,就可以获得很可观的金钱回报。这样实现了学习和赚钱两不误,吸引了更多开发人员加入到 Android大军中来。
  ? 本书的内容
  本书内容共 18章,循序渐进地分析了整个 Android系统的基本架构知识。本书从获取源码开始讲起,依次讲解了 Android系统介绍,包括获取并编译 Android源码,分析 JNI,内存系统架构详解,硬件抽象层架构详解,Binder通信机制详解,init启动进程详解, Zygote进程详解, System进程详解,应用程序进程详解,Sensor传感器系统架构详解,蓝牙系统架构详解,Android多媒体框架架构详解,音频系统框架架构详解,视频系统架构详解, WebKit系统架构详解, Android 5.0中的 WebView,Wi-Fi系统架构详解,ART机制架构详解等内容。本书几乎涵盖了所有 Android系统架构的主要核心内容,讲解方法通俗易懂并且详细,不但适合应用高手们学习,也特别便于初学者学习和理解。
  ? 本书的版本
  Android系统自 2008年 9月发布第一个版本 1.1,截至 2014年 10月发布最新版本 5.0,一共有十多个版本。由此可见,Android系统升级频率较快,一年之中最少有两个新版本诞生。如果过于追求新版本,将力不从心。所以建议广大读者不必追求最新的版本,只需关注最流行的版本即可。据官方统计,截至 2014年 10月 25日,占据前 3位的版本分别是 Android 4.3、Android 4.4和 Android 4.2,其实这 3个版本的区别并不是很大,只是在某领域的细节上进行了更新。为了及时体验 Android系统的最新功能,本书使用的版本是主流的 Android 5.0。
  ? 本书特色
  (1)内容全面,讲解细致
  本书几乎涵盖了 Android系统架构所需要的所有主要知识点,详细讲解了每一个 Android系统的具体实现过程。每一个知识点都力求用详实易懂的语言展现在读者面前。
  (2)遵循合理的主线进行讲解
  为了使广大读者彻底弄清楚 Android系统架构的各个知识点,在讲解每一个知识点时,从 Linux内核开始讲起,依次剖析了底层架构、 API硬件抽象层和顶层应用的具体知识。遵循了从底层到顶层的顺序,实现了 Android系统架构大揭秘的目标。
  (3)章节独立,自由阅读
  本书中的每一章内容都可以独自成书,读者既可以按照本书编排的章节顺序进行学习,也可以根据自己的需求对某一章节进行针对性的学习。并且和传统古板的计算机书籍相比,阅读本书会带来很大的快乐。
  (4)版本新颖,代表性强
  本书以最新的 Android 5.0作为讲解主线,结合 Android 4.4的架构知识进行讲解,这样可以涵盖大多数读者群体,代表性更强。
  ? 读者对象
  本书适合Android源码分析人员、Android系统架构师、Linux开发人员、Android物联网开发人员、Android爱好者、Android底层开发人员、Android驱动开发人员、Android应用开发人员、Android传感器开发人员、Android智能家居开发人员、Android可穿戴设备开发人员、相关院校及培训学校的学生。
  由于水平有限,本书中的纰漏和不尽如人意之处在所难免,诚请读者提出意见或建议,以便修订使之更臻完善。我们提供了售后支持网站及QQ群,读者朋友如有疑问可以在此提出,一定会得到满意的答复。