图书介绍
Android深度探索 卷2 系统应用源代码分析与ROM定制2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 李宁编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115367945
- 出版时间:2015
- 标注页数:496页
- 文件大小:99MB
- 文件页数:508页
- 主题词:移动终端-应用程序-程序设计
PDF下载
下载说明
Android深度探索 卷2 系统应用源代码分析与ROM定制PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 学习前的准备工作1
1.1 安装和配置JDK1
1.2 安装和配置Android开发环境1
1.3 官方Android源代码2
1.3.1 下载Android源代码2
1.3.2 编译Android源代码3
1.4 官方Linux内核源代码4
1.4.1 Linux内核支持的Android设备4
1.4.2 下载Linux内核源代码5
1.4.3 查看Linux内核的分支6
1.4.4 看看Google公司的人在做什么6
1.4.5 获取Linux内核的配置文件8
1.4.6 安装交叉编译器9
1.4.7 编译Linux内核源代码10
1.5 Cyanogenmod(CM)源代码10
1.5.1 什么是CM10
1.5.2 CM支持哪些Android设备11
1.5.3 与Android设备对应的Codename和CM版本12
1.5.4 下载CMAndroid源代码13
1.5.5 下载经过CM适配的Linux内核源代码14
1.5.6 编译Android源代码生成ReoveryROM14
1.5.7 单独编译CMLinux内核源代码17
1.5.8 刷机!刷机!18
1.5.9 下载现成的CMROM19
1.6 小结20
第2章 提取ROOT权限21
2.1 什么是ROM21
2.2 ROM的种类22
2.3 刷官方的ROM22
2.3.1 下载官方的ROM23
2.3.2 用无人值守方式刷ROM23
2.3.3 分别刷ROM包含的各种镜像文件24
2.4 Android手机获取ROOT权限的必要性26
2.5 提取ROOT权限的原理26
2.6 用极客的方式提取ROOT权限27
2.6.1 提取ROOT权限的步骤27
2.6.2 需要一个很酷的recovery28
2.6.3 su命令源代码分析30
2.6.4 制作第一个Recovery刷机包(编写updater-script脚本文件)32
2.6.5 首次通过DIY方式提取ROOT权限35
2.6.6 上传Android应用到/system/app目录35
2.7 小结36
第3章 Root权限的安全屏障37
3.1 通过su提取Root权限的安全隐患37
3.2 Android应用申请Root权限38
3.3 Superuser.apk为什么不见了39
3.4 申请Root权限为什么失灵了41
3.5 CMROM如何为Root权限增加安全屏障42
3.6 ADBShell动作管理命令(am)44
3.6.1 显示窗口(Activity)44
3.6.2 发送广播(Broadcast)45
3.6.3 开始服务(Service)46
3.7 su实现原理及源代码分析46
3.7.1 su进行Root授权的处理流程46
3.7.2 初始化调用者数据50
3.7.3 初始化路径53
3.7.4 动态宏定义54
3.7.5 检测数据库56
3.7.6 创建LocalSocket服务57
3.7.7 显示“Root授权”窗口58
3.7.8 等待Superuser连接LocalSocket服务59
3.7.9 向Superuser传输调用者信息60
3.7.10 接收用户选择的“Root授权”策略61
3.7.11 允许和拒绝“Root授权”62
3.8 Superuser的实现原理与源代码分析63
3.8.1 “Root授权”警告窗口的处理流程63
3.8.2 设置“Root授权”窗口的控件65
3.8.3 获取“Root授权”持续时间68
3.8.4 处理“Root授权”策略70
3.8.5 读取Su协议数据71
3.8.6 获取和设置“调用者”信息73
3.9 小结74
第4章 ROM定制75
4.1 刷机的那些事75
4.1.1 Android刷机的本质75
4.1.2 制作ROM的不同层次77
4.1.3 为什么要刷机78
4.1.4 刷机带来的风险及其预防措施78
4.2 在官方ROM的基础上定制各种镜像79
4.2.1 修改系统镜像(system.img)80
4.2.2 定制开机动画82
4.2.3 用户数据镜像(userdata.img)84
4.2.4 内存磁盘镜像(ramdisi.img)87
4.2.5 Linux内核镜像(boot.img)88
4.2.6 制作已经有ROOT权限的ROM89
4.2.7 Recovery镜像(recovery.img)90
4.2.8 缓存镜像(cache.img)91
4.2.9 制作完美的Bootloader ROM91
4.3 直接从CM源代码制作ROM93
4.3.1 制作Bootloader ROM94
4.3.2 制作Recovery ROM95
4.4 Edify语言98
4.4.1 Edify语言概述98
4.4.2 测试Edify脚本(updater-script)98
4.4.3 Edify函数详解99
4.4.4 Ediry语言的实现原理106
4.5 集成Google Services Framework和Google Play109
4.6 在CMROM中集成第三方APK程序110
4.6.1 为什么不能直接复制APK和ODEX文件110
4.6.2 校验odex文件需要依赖哪些Library111
4.6.3 合并APK和ODEX文件111
4.7 小结113
第5章 Recovery深度分析与定制114
5.1 什么是Recovery114
5.2 Clockworkmod Recovery源代码解析116
5.2.1 如何分析Recovery源代码116
5.2.2 显示主菜单117
5.2.3 切换不同的菜单项120
5.2.4 选择菜单项121
5.3 Recovery支持的各种操作122
5.3.1 重启和关闭Android设备122
5.3.2 从SD卡刷ROM124
5.3.3 使用sideload模式刷ROM129
5.3.4 清除指定文件系统中的数据130
5.3.5 备份与恢复133
5.3.6 挂载(mount)、卸载(umount)和格式化(format)文件系统137
5.4 添加自己的Recovery菜单项140
5.5 汉化Recovery142
5.5.1 汉化Recovery的原理和步骤142
5.5.2 初始化字体143
5.5.3 绘制中文字符144
5.6 小结145
第6章 Android系统应用的开发与测试146
6.1 什么是Android系统应用146
6.2 为什么要研究Android系统应用146
6.3 如何编写Android系统应用147
6.4 分析第一个Android系统应用:计算器149
6.4.1 计算器应用(Calculator)的基本结构149
6.4.2 编译、测试和调试Calculator152
6.4.3 允许其他Android应用通过Calculator计算表达式152
6.5 小结154
第7章 安装与卸载应用程序(PackageInstaller)155
7.1 分析源代码的第一步应该做什么155
7.2 寻找PaekageInstaller的突破口157
7.3 安装和卸载Android应用的全部方式159
7.4 安装Android应用前的校验160
7.4.1 安装Android应用的初始化工作160
7.4.2 显示校验窗口163
7.4.3 获取Android应用的权限列表166
7.5 开始安装应用程序168
7.5.1 PackageInstaller的安装原理169
7.5.2 静默安装Android应用174
7.6 卸载Android应用177
7.6.1 PackageInstaller卸载Android应用前的确认178
7.6.2 卸载Android应用的原理180
7.6.3 静默卸载Android应用182
7.7 小结184
第8章 系统设置(一)185
8.1 为系统设置添加新功能185
8.1.1 系统设置的编译与权限185
8.1.2 修改开机动画186
8.1.3 寻找Settings的入口点191
8.1.4 为Settings添加新的功能项192
8.1.5 迁移修改开机动画的窗口类194
8.2 Wi-Fi195
8.2.1 如何为设置项添加Switch控件195
8.2.2 为“修改开机动画”设置项添加Switch控件199
8.2.3 “关闭/打开”Wi-Fi202
8.2.4 系统信息与SQLite的WAL模式204
8.2.5 禁止飞行模式下单独开启Wi-Fi205
8.2.6 系统设置内容提供者(SettingsContent Provider)206
8.2.7 用广播方式设置Switch控件的状态211
8.2.8 搜索可用热点212
8.2.9 热点对象(AccessPoint)216
8.2.10 获取可用热点的各种状态223
8.2.11 连接可用热点226
8.3 蓝牙227
8.3.1 “关闭/打开”蓝牙227
8.3.2 蓝牙的本地状态228
8.3.3 蓝牙设置的架构与实现229
8.3.4 “允许/禁止”当前蓝牙设备被搜索到234
8.4 流量使用情况235
8.5 小结241
第9章 系统设置(二)242
9.1 声音242
9.1.1 调整音量242
9.1.2 响铃模式247
9.1.3 手机铃声249
9.1.4 渐强铃声251
9.2 显示253
9.2.1 调整屏幕亮度254
9.2.2 壁纸设置(动态扩展)256
9.2.3 屏幕休眠设置258
9.3 存储260
9.3.1 添加设置项261
9.3.2 检测存储空间264
9.4 语言与输入法269
9.4.1 改变当前语言269
9.4.2 设置当前的输入法273
9.4.3 扩展输入法274
9.5 开发者选项278
9.5.1 Root授权278
9.5.2 启动USB调试282
9.5.3 启动网络ADB调试284
9.6 关于手机287
9.6.1 手机的状态信息287
9.6.2 手机的其他信息290
9.6.3 在线更新(OTA)291
9.7 小结292
第10章 系统设置内容提供者(SettingsProvider)293
10.1 系统设置数据库创建与升级293
10.2 读写系统设置的数据(settings.db)297
10.3 系统设置数据的备份和恢复300
10.4 小结305
第11章 电话与联系人306
11.1 拨号应用306
11.1.1 实现拨号盘UI306
11.1.2 显示与删除电话号310
11.1.3 用拨号盘输入电话号312
11.1.4 播放和停止按键提示音314
11.1.5 拨打电话316
11.1.6 电话号到底是如何拨出的320
11.2 通话记录管理325
11.3 联系人管理332
11.3.1 初始化联系人列表332
11.3.2 获取经常呼叫的联系人334
11.3.3 获取所有的联系人338
11.3.4 来电黑名单339
11.4 小结342
第12章 短信和彩信管理343
12.1 显示会话列表343
12.1.1 主窗口类ConversationList和跨应用程序调用343
12.1.2 会话列表适配器(ConversationList Adapter)344
12.1.3 异步查询会话信息346
12.2 删除会话349
12.3 发送短信354
12.3.1 显示发送短信窗口354
12.3.2 发送短信356
12.3.3 监听发送短信状态359
12.4 监听短信的收发361
12.4.1 处理收发短信广播的流程362
12.4.2 处理接收短信广播363
12.4.3 处理发送短信广播365
12.5 浏览当前会话368
12.6 小结369
第13章 AndroidHome应用:Launcher2(一)370
13.1 Launcher2的那些事370
13.2 初始化LauncherHomeUI372
13.2.1 Launcher2的主布局文件(launcher.xml)372
13.2.2 初始化Android桌面373
13.2.3 全局对象LauncherApplication376
13.2.4 初始化桌面UI控制器379
13.2.5 装载桌面UI视图381
13.2.6 任务装载器(LoaderTask)382
13.3 装载和绑定Workspace385
13.3.1 根据不同类型装载桌面视图385
13.3.2 装载默认的桌面UI数据390
13.3.3 添加默认桌面UI数据的若干方法398
13.3.4 从favorites表中提取和分类桌面UI数据402
13.3.5 绑定Workspace405
13.3.6 回调方法407
13.3.7 绑定前的清理工作408
13.3.8 在Android桌面上添加各种UI视图408
13.3.9 如何将快捷方式和文件夹添加到Android桌面上410
13.3.10 如何将AppWidget添加到Android桌面上412
13.4 装载和绑定Android应用413
13.4.1 装载和绑定Android应用的时机413
13.4.2 一体化装载和绑定Android应用416
13.4.3 隐藏和显示指定的Android应用419
13.4.4 隐藏和显示系统和普通Android应用422
13.4.5 仅绑定Android应用424
13.5 小结425
第14章 AndroidHome应用:Launcher2(二)426
14.1 Android桌面426
14.1.1 桌面布局(CellLayout)426
14.1.2 工作空间(Workspace)429
14.1.3 底座(Hotseat)432
14.1.4 桌面左右滑动(DragLayer)433
14.2 桌面UI438
14.2.1 搜索框438
14.2.2 拖放目标区域442
14.2.3 删除快捷方式和卸载Android应用448
14.2.4 编辑快捷方式455
14.2.5 查看快捷方式和AppWidget的应用信息458
14.3 文件夹(Folder)459
14.3.1 文件夹的创建过程459
14.3.2 将快捷方式拖入文件夹462
14.3.3 将快捷方式从文件夹中拖出463
14.3.4 显示文件夹中的快捷方式列表465
14.4 应用程序列表468
14.5 壁纸设置469
14.5.1 壁纸选择器469
14.5.2 壁纸设置与壁纸图像来源471
14.6 广播接收器473
14.6.1 安装快捷方式(InstallShortcut Receiver)473
14.6.2 卸载快捷方式(UninstallShortcut Receiver)476
14.6.3 回复默认桌面(PreloadReceiver)478
14.7 内容提供者(LauncherProvider)481
14.8 小结481
第15章 近场通信(NFC)的实现原理482
15.1 处理NFC NDEF消息的服务482
15.2 处理NFC消息的回调接口484
15.3 调用处理NFC消息的窗口(Activity)486
15.4 手持设备与蓝牙传输490
15.5 继续尝试其他处理NFC消息的可能性491
15.6 通过蓝牙传递Uri493
15.7 小结496
热门推荐
- 580553.html
- 3748524.html
- 1032740.html
- 1886209.html
- 3152502.html
- 1601167.html
- 1997682.html
- 1946386.html
- 566955.html
- 3049681.html
- http://www.ickdjs.cc/book_696351.html
- http://www.ickdjs.cc/book_1098272.html
- http://www.ickdjs.cc/book_2575543.html
- http://www.ickdjs.cc/book_3427312.html
- http://www.ickdjs.cc/book_440586.html
- http://www.ickdjs.cc/book_1120802.html
- http://www.ickdjs.cc/book_2679175.html
- http://www.ickdjs.cc/book_1032588.html
- http://www.ickdjs.cc/book_2019188.html
- http://www.ickdjs.cc/book_3584210.html