- 网页设计
- 整站网页设计
- 网站模板设计
- 网站开发
- 综合门户网开发
- 企业网站开发
- 电子商务网站开发
- 资讯网站开发
- 团购网站开发
- 手机网站开发
- 宣传展示网站
- 网站功能开发
- 网站特效制作
- 应用软件开发
- 手机应用软件
- 计算机应用软件
- 软件美工
- 程序修改
- 仿网站开发
- 脚本插件
- 软件测试
- 网站改版
- 企业办公系统
- 软件汉化
- 软件界面皮肤
- 企业办公系统界面
- 应用移植
- Android开发
- IOS开发
- 应用汉化
- 安卓系统定制
- 网店装修
包邮 正版书籍 Android驱动开发权威指南+Android深度探索 卷2 系统应用源代码分析与ROM定制(附光盘) Android ROM程序设计书籍.
- 产品名称:Android驱动开发权威指南+...
- 书名:Android驱动开发权威指南+Android深度探索卷2
- 出版时间:2015年1月
- 定价:158.00元
- 是否是套装:是
- 正:副书名:Android驱动开发权威指南+Android深度探索卷2
B5
Android深度探索 卷2
作 者李宁 编著
出 版 社人民邮电出版社
出版时间2015-1-1
ISBN(咨询特价)
版 次:01
页 数:496
字 数:839
印刷时间:2014-12-8
开 本:16开
纸 张:胶版纸
印 次:01
包 装:平装
定价:(咨询特价)
国内第一本介绍定制ROM的书
从零开始讲解Android的刷机技术
深度分析和讲解了root、各类ROM的定制技术
分析了大量的Android系统应用源代码,使读者可以深度定制Android ROM
采用最流行的CM Android源代码进行分析,可支持多达上百种机型
采用较新的Android进行讲解,紧跟时代脉搏
这些系统应用包括Android应用安装和卸载管理、系统设置、系统设置内容提供者、与管理、短信与彩信管理、Launcher2和NFC后台服务程序。通过对这些Android系统应用的源代码分析,会使读者定制出更完美的Android ROM。
全书分为2部分。第一部分主要介绍了Android源代码和Linux内核源代码的下载和编译,Root权限的提取,Android ROM的制作和刷机,Recovery的定制等。第二部分主要分析了主要Android系统应用的实现原理和源代码。这些系统应用包括Android应用安装和卸载管理、系统设置、系统设置内容提供者、与管理、短信与彩信管理、Launcher2和NFC后台服务程序。通过对这些Android系统应用的源代码分析,会使读者定制出更完美的Android ROM。
本书主要采用了CM10.1(Android4.2.2)源代码进行讲解和分析,使读者可以系统和完整地掌握定制Android ROM所需要的最新技术。无论读者是想找一份好工作,还是想满足自己的Geek情节,本书都是您的首选。
本书适合具备一定的开发经验(最好有Java或C/C++开发经验)、想学习Android和Linux底层开发的程序员,具备一定的Android开发经验,想从事底层开发的编程爱好者使用;也适合作为相关培训学校的Android底层开发培训教材。
李宁,东北大学硕士,IT作家、技术顾问、Geek。曾出版《Android深度探索(卷1):HAL与驱动开发》、《Android开发权威指南》、《Android高薪之路:Android程序员面试宝典》等畅销书。Blog:http://picimg.witcp.com/pic/blog.csdn.net/nokiaguy
第1章 学习前的准备工作 1
1.1 安装和配置JDK 1
1.2 安装和配置Android开发环境 1
1.3 官方Android源代码 2
1.3.1 下载Android源代码 2
1.3.2 编译Android源代码 3
1.4 官方Linux内核源代码 5
1.4.1 Linux内核支持的Android设备 5
1.4.2 下载Linux内核源代码 5
1.4.3 查看Linux内核的分支 7
1.4.4 看看Google那帮家伙在做什么 8
1.4.5 获取Linux内核的配置文件 10
1.4.6 安装交叉编译器 11
1.4.7 编译Linux内核源代码 12
1.5Cyanogenmod(CM)源代码 12
1.5.1 什么是CM 12
1.5.2 CM支持哪些Android设备 13
1.5.3与Android设备对应的Codename和CM版本 14
1.5.4 下载CM Android源代码 15
1.5.5 下载经过CM适配的Linux内核源代码 17
1.5.6 编译Android源代码生成Recovery ROM 17
1.5.7 单独编译CM Linux内核源代码 21
1.5.8 刷机!刷机! 22
1.5.9 下载现成的CM ROM 23
1.6小结 24
第2章 提取ROOT权限 26
2.1 什么是ROM 26
2.2 ROM的种类 27
2.3刷官方的ROM 27
2.3.1 下载官方的ROM 28
2.3.2 用无人值守方式刷ROM 28
2.3.3 分别刷ROM包含的各种镜像文件 29
2.4 Android获取ROOT权限的必要性 31
2.5 提取ROOT权限的原理 32
2.6 用极客的方式提取ROOT权限 33
2.6.1 提取ROOT权限的步骤 33
2.6.2 需要一个很酷的recovery 34
2.6.3 su命令源代码分析 36
2.6.4 制作第一个Recovery刷机包(编写updater-script脚本文件) 39
2.6.5 首次通过DIY方式提取ROOT权限 43
2.6.6 上传Android应用到/system/app目录 43
2.7 小结 44
第3章 Root权限的安全屏障 45
3.1 通过su提取Root权限的安全隐患 45
3.2 Android应用申请Root权限 46
3.3 Superuser.apk为什么不见了 48
3.4 申请Root权限为什么失灵了 50
3.5CM ROM如何为Root权限增加安全屏障 52
3.6 ADB Shell动作管理命令(am) 55
3.6.1 显示窗口(Activity) 55
3.6.2发送广播(Broadcast) 56
3.6.3 开始服务(Service) 57
3.7su实现原理及源代码分析 57
3.7.1 su进行Root授权的处理流程 57
3.7.2 初始化调用者数据 64
3.7.3 初始化路径 66
3.7.4 动态宏定义 67
3.7.5 检测数据库 69
3.7.6 创建LocalSocket服务 70
3.7.7 显示“Root授权”窗口 72
3.7.8 等待Superuser连接LocalSocket服务 73
3.7.9 向Superuser传输调用者信息 74
3.7.10 接收用户选择的“Root授权”策略 75
3.7.11 允许和拒绝“Root授权” 75
3.8 Superuser的实现原理与源代码分析 77
3.8.1 “Root授权”警告窗口的处理流程 77
3.8.2 设置“Root授权”窗口的控件 80
3.8.3 获取“Root授权”持续时间 83
3.8.4 处理“Root授权”策略 85
3.8.5 读取Su协议数据 86
3.8.6获取和设置“调用者”信息 88
3.9 小结 90
第4章 ROM定制 91
4.1 刷机的那些事 91
4.1.1 Android刷机的本质 91
4.1.2 制作ROM的不同层次 93
4.1.3 为什么要刷机 94
4.1.4 刷机带来的风险及其预防措施 95
4.2在官方ROM的基础上定制各种镜像 96
4.2.1 修改系统镜像(system.img) 96
4.2.2 定制开机动画 99
4.2.3 用户数据镜像(userdata.img) 103
4.2.4 内存磁盘镜像(ramdisk.img) 106
4.2.5Linux内核镜像(boot.img) 108
4.2.6 制作已经有ROOT权限的ROM 109
4.2.7 Recovery镜像(recovery.img) 110
4.2.8 缓存镜像(cache.img) 111
4.2.9 制作完美的Bootloader ROM 112
4.3 直接从CM源代码制作ROM 114
4.3.1 制作Bootloader ROM 115
4.3.2制作Recovery ROM 116
4.4 Edify语言 120
4.4.1 Edify语言概述 120
4.4.2 测试Edity脚本(updater-script) 120
4.4.3 Edity函数详解 122
4.4.4 Edity语言的实现原理 131
4.5集成Google Services Framework和Google Play 134
4.6在CM ROM中集成第三方APK程序 135
4.6.1为什么不能直接复制APK和ODEX文件 135
4.6.2 校验odex文件需要依赖哪些Library 136
4.6.3 合并APK和ODEX文件 136
4.7 小结 139
第5章 Recovery深度分析与定制 140
5.1 什么是Recovery 140
5.2 Clockworkmod Recovery源代码解析 142
5.2.1如何分析Recovery源代码 142
5.2.2 显示主菜单 144
5.2.3 切换不同的菜单项 146
5.2.4 选择菜单项 148
5.3Recovery支持的各种操作 150
5.3.1 重启和关闭Android设备 150
5.3.2 从SD卡刷ROM 151
5.3.3 使用sideload模式刷ROM 157
5.3.4 清除指定文件系统中的数据 158
5.3.5 备份与恢复 161
5.3.6 挂载(mount)、卸载(umount)和格式化(format)文件系统 167
5.4添加自己的Recovery菜单项 170
5.5 汉化Recovery 172
5.5.1 汉化Recovery的原理和步骤 172
5.5.2 初始化字体 173
5.5.3 绘制中文字符 175
5.6小结 176
第6章Android系统应用的开发与测试 177
6.1 什么是Android系统应用 177
6.2为什么要研究Android系统应用 178
6.3如何编写Android系统应用 178
6.4 分析第一个Android系统应用:计算器 180
6.4.1 计算器应用(Calculator)的基本结构 181
6.4.2 编译、测试和调试Calculator 183
6.4.3 允许其他Android应用通过Calculator计算表达式 184
6.5 小结 186
第7章 安装与卸载应用程序(PackageInstaller) 187
7.1 分析源代码的第一步应该做什么 187
7.2 寻找PackageInstaller的突破口 190
7.3安装和卸载Android应用的全部方式 192
7.4 安装Android应用前的校验 193
7.4.1 安装Android应用的初始化工作 193
7.4.2 显示校验窗口 197
7.4.3 获取Android应用的权限列表 201
7.5开始安装应用程序 204
7.5.1 PackageInstaller的安装原理 204
7.5.2 静默安装Android应用 211
7.6 卸载Android应用 214
7.6.1 PackageInstaller卸载Android应用前的确认 214
7.6.2 卸载Android应用的原理 217
7.6.3 静默卸载Android应用 220
7.7小结 222
第8章 系统设置(一) 224
8.1 为系统设置添加新功能 224
8.1.1 系统设置的编译与权限 224
8.1.2修改开机动画 226
8.1.3 寻找Settings的入口点 231
8.1.4 为Settings添加新的功能项 233
8.1.5 迁移修改开机动画的窗口类 235
8.2Wi-Fi 236
8.2.1 如何为设置项添加Switch控件 237
8.2.2 为“修改开机动画”设置项添加Switch控件 242
8.2.3“关闭/打开”Wi-Fi 245
8.2.4 系统信息与SQLite的WAL模式 248
8.2.5禁止飞行模式下单独开启Wi-Fi
Android驱动开发权威指南
作 者杨柳 编著
出 版 社机械工业出版社
出版时间2014-3-1
ISBN(咨询特价)
版 次:1
页 数:320
印刷时间:2014-3-1
开 本:大16开
纸 张:胶版纸
印 次:1
包 装:平装
定价:(咨询特价)
本书根据作者多年的从业经验,从开发实战出发,全面深入地讲解了Android驱动开发。本书以Android驱动本质为源,深入浅出地剖析了Android驱动程序开发要用到的DMA、中断、同步、等待队列与signal等多项技术。本书还从系统的角度描述了Android驱动与Android其他部分的有机结合,为Android用户提供各类智能输入/输出服务。
本书适合从事Linux开发、Android底层驱动开发、系统框架开发,以及Android底层模块验证测试等的相关软件工程人员阅读;也适合从事Android智能其他领域的研发人员参考;还适合作为大、中专院校与培训机构的相关实践性指导教材。
前言
第一篇 Android的前世今生——Android概述篇
第1章 Android的前世今生
1.1 Android的起源
1.2 开放联盟
1.3 开源与相关协议
1.4 系统的升级与发展
第2章 Android体系结构
2.1 四层空间基本结构
2.1.1 Android系统底层开发
2.1.2 应用程序开发
2.2 Android代码目录结构
2.3 Android开发环境搭建
第二篇 勿于浮砂筑高台——Linux驱动基础篇
第3章 Linux 内核综述
3.1 OS基本概念
3.1.1 多用户系统
3.1.2 用户和组
3.1.3 进程
3.1.4 Linux单核架构
3.2 Linux内核综述
3.2.1 进程/内核模型综述
3.2.2 内存管理综述
3.2.3 文件系统综述
3.2.4 设备驱动简述
第4章 Linux内核编程与内核模块
4.1 Linux内核源代码目录结构
4.2 Linux内核的编译与启动
4.3 Linux内核的C编程
4.4 Linux内核模块基础与骨架
4.5 Linux模块的加载与卸载
4.6 Linux模块的参数与导出符号
4.7 Linux模块的使用计数
第5章 Linux文件系统
5.1 Linux文件系统概述
5.1.1 Linux文件系统的目录结构
5.1.2 设备驱动与Linux文件系统的关联
5.2 Linux设备文件系统
5.2.1 devfs设备文件系统
5.2.2 udev设备文件系统
5.2.3 sysfs文件系统与Linux设备
5.2.4 udev的组成
5.2.5 udev规则文件
第6章 Linux字符设备驱动
6.1 Linux字符设备驱动结构
6.1.1 cdev结构体
6.1.2 分配和释放设备号
6.1.3 file_operations结构体
6.1.4 Linux字符设备驱动的组成
6.2 一个字符设备驱动例子——virtualchar
6.2.1 头文件、宏及设备结构体
6.2.2 加载与卸载设备驱动
6.2.3 驱动函数实现
6.2.4 驱动设备私有数据
6.3 对virtualchar设备的访问
第7章 Linux设备驱动中的内存与I/O访问
7.1 CPU与内存和I/O之间的故事
7.1.1内存空间与I/O空间
7.1.2 内存管理单MMU
7.2 Linux内存管理
7.3 Linux内存访问
7.4 Linux I/O访问
7.4.1 访问I/O
7.4.2 申请与释放I/O资源
7.4.3 I/O访问流程
7.4.4 设备地址与用户空间的映射
7.5 DMA
7.5.1 DMA与Cache的一致性
7.5.2 Linux下的DMA编程
第8章 Linux设备驱动中的中断
8.1 Linux中断及中断处理架构
8.2 Linux中断编程
8.2.1 申请和释放中断
8.2.2 使能与屏蔽中断
8.2.3 底半部机制
8.2.4 中断共享
8.3 Linux定时器
8.4 Linux延时处理
8.4.1 短延时
8.4.2 长延时
8.4.3 睡眠延时
第9章 Linux设备驱动中的并发
9.1 Linux中的并发与竞争
9.2 Linux中常用的同步访问技术
9.2.1 中断屏蔽
9.2.2 原子操作
9.2.3 自旋锁
9.2.4 信号量
9.2.5 互斥灯
9.3 增加并发控制的virtualchar驱动
第10章 Linux设备的阻塞式与非阻塞式访问
10.1 阻塞式与非阻塞式访问
10.1.1 等待队列
10.1.2 支持阻塞操作的virtualfifo设备驱动
10.2 Linux的轮询访问
10.2.1 应用程序中的轮询编程
10.2.2 设备驱动中的轮询编程
10.2.3 支持轮询操作的virtualfifo驱动
第11章 Linux设备驱动中的异步访问
11.1 Linux 2.6 中的异步访问
11.1.1 异步访问概念与GNU C库函数
11.1.2 使用信号作为异步访问的通知
11.1.3 使用回调函数作为异步访问的通知
11.1.4 异步访问与设备驱动
11.2 异步Fifo驱动例子
11.2.1 在virtualfifo驱动中增加异步通知
11.2.2 在用户空间验证virtualfifo的异步通知
第12章 Linux块设备驱动
12.1 块设备的I/O操作特点
12.2 Linux块设备驱动结构
12.2.1 block_device_operations结构体
12.2.2 gendisk结构体
12.2.3 request与bio结构体
12.2.4 块设备驱动注册与注销
12.3 Linux块设备驱动的模块加载与卸载
12.4 块设备的打开/释放/IOCTL
第13章 Linux网络设备驱动
13.1 Linux网络设备驱动体系结构
13.2 Linux网络设备驱动结构
13.3 Linux网络设备驱动I/O实现
13.3.1 网络设备初始化
13.3.2 网络数据包的收发
第三篇 实践出真知——Android驱动实践篇
第14章 Android HAL层的设计
14.1 Android HAL概述
14.2 为Android开发虚拟驱动virtualio
14.3 Android集成C程序访问virtualio
14.4 Android通过HAL访问virtualio
14.4.1 virtualio HAL模块实现
14.4.2 实现访问virtualio HAL模块JNI
14.4.3 在Framework层增加virtualio服务
第15章 Framebuffer子系统
15.1 Linux Framebuffer一般子系统
15.1.1 Framebuffer数据结构
15.1.2 Framebuffer驱动
15.2 Android Framebuffer子系统实践
15.2.1 硬件基础
15.2.2 CPU侧显示驱动模块
15.2.3 LCM驱动模块
15.3 Android系统对Framebuffer的使用
第16章 Input子系统
16.1 Linux Input一般子系统
16.1.1 Input数据结构
16.1.2 Input内核模块
16.2 Android Input子系统实践
16.2.1 硬件基础
16.2.2 Input驱动模块
16.3 Android系统对Input的使用
第17章 V4L2子系统
17.1 Linux V4L2一般子系统
17.1.1 V4L2数据结构
17.1.2 V4L2接口
17.1.3 V4L2虚拟驱动vivi
17.2 Android V4L2实践
17.2.1 硬件基础
17.2.2 CPU侧CCIC驱动模块
17.2.3 OV5642模组驱动模块
17.3 Android系统对V4L2的使用
第18章 Binder IPC通信子系统
18.1 Binder驱动概述
18.2 Binder通信模型
18.3 Binder驱动
18.3.1 Binder相关的结构体
18.3.2 Android Binder子系统的架构设计
18.4 Binder的工作流程
第19章 USB子系统
19.1 USB协议基础知识
19.1.1 USB物理连接
19.1.2 USB通信协议
19.2 USB子系统底层
19.2.1 USB Core
19.2.2 Linux USB gadget三层架构
19.3 Android USB子系统实践
19.3.1 Android IPC通信补充
19.3.2 Android USB Mass Storage流程分析
第20章 Bootloader引导子系统
20.1 Bootloader流程分析
20.1.1 Bootloader概述
20.1.2 U-Boot启动流程分析
20.2 Bootloader修改指南
20.2.1 开机第一帧图的修改
20.2.2 开机模式的定制
参考文献
-
最近销售:4 掌柜:启橙软件设计¥60 元
-
最近销售:4 掌柜:提分学习软件 提分学习机平板电脑定制批发¥297 元
-
最近销售:3 掌柜:云蓬科技¥1500 元
-
最近销售:3 掌柜:深圳市林柏视科技rmoncam 生产订制各类USB摄像头¥237 元
-
最近销售:2 掌柜:龙轩科技¥150 元