首页

《Android深度探索-卷2——系统应用源代码分析与ROM定制》PDF版本下载

标签:作者:李宁,Android,ROM定制,Root权限,Recovery分析,AndroidHome应用     发布时间:2017-01-18   
  • 云盘下载:
  • [提取码:0000]
  • 本地下载:
       ( 需积分:2  )

一、目录介绍

Android深度探索-卷2——系统应用源代码分析与ROM定制副本.jpg

第1章 学习前的准备工作
1.1   安装和配置JDK
1.2   安装和配置Android开发环境  
1.3   官方Android源代码
1.3.1 下载Android源代码
1.3.2 编译Android源代码
1.4   官方Linux内核源代码
1.4.1 Linux内核支持的Android设备
1.4.2 下载Linux内核源代码
1.4.3 查看Linux内核的分支
1.4.4 看看Google那帮家伙在做什么  
1.4.5 获取Linux内核的配置文件
1.4.6 安装交叉编译器  
1.4.7 编译Linux内核源代码
1.5   Cyanogenmod(CM)源代码
1.5.1 什么是CM  
1.5.2 CM支持哪些Android设备
1.5.3 与Android设备对应的Codename和CM版本
1.5.4 下载CM Android源代码
1.5.5 下载经过CM适配的Linux内核源代码  
1.5.6 编译Android源代码生成Recovery ROM
1.5.7 单独编译CM Linux内核源代码  
1.5.8 刷机!刷机!
1.5.9 下载现成的CM ROM  
1.6   小结
 
第2章 提取ROOT权限
2.1   什么是ROM
2.2   ROM的种类
2.3   刷官方的ROM  
2.3.1 下载官方的ROM  
2.3.2 用无人值守方式刷ROM  
2.3.3 分别刷ROM包含的各种镜像文件  
2.4   Android手机获取ROOT权限的必要性
2.5   提取ROOT权限的原理
2.6   用极客的方式提取ROOT权限  
2.6.1 提取ROOT权限的步骤  
2.6.2 需要一个很酷的recovery  
2.6.3 su命令源代码分析  
2.6.4 制作第一个Recovery刷机包(编写updater-script脚本文件)
2.6.5 首次通过DIY方式提取ROOT权限
2.6.6 上传Android应用到/system/app目录
2.7   小结  

第3章 Root权限的安全屏障
3.1   通过su提取Root权限的安全隐患
3.2   Android应用申请Root权限
3.3   Superuser.apk为什么不见了
3.4   申请Root权限为什么失灵了
3.5   CM ROM如何为Root权限增加安全屏障
3.6   ADB Shell动作管理命令(am)  
3.6.1 显示窗口(Activity)
3.6.2 发送广播(Broadcast)  
3.6.3 开始服务(Service)
3.7   su实现原理及源代码分析  
3.7.1 su进行Root授权的处理流程  
3.7.2 初始化调用者数据
3.7.3 初始化路径  
3.7.4 动态宏定义
3.7.5 检测数据库  
3.7.6 创建LocalSocket服务
3.7.7 显示“Root授权”窗口  
3.7.8 等待Superuser连接LocalSocket服务
3.7.9 向Superuser传输调用者信息  
3.7.10 接收用户选择的“Root授权”策略
3.7.11 允许和拒绝“Root授权”  
3.8   Superuser的实现原理与源代码分析
3.8.1 “Root授权”警告窗口的处理流程  
3.8.2 设置“Root授权”窗口的控件
3.8.3 获取“Root授权”持续时间  
3.8.4 处理“Root授权”策略  
3.8.5 读取Su协议数据  
3.8.6获取和设置“调用者”信息  
3.9 小结

第4章 ROM定制  
4.1   刷机的那些事
4.1.1 Android刷机的本质
4.1.2 制作ROM的不同层次
4.1.3 为什么要刷机
4.1.4 刷机带来的风险及其预防措施  
4.2   在官方ROM的基础上定制各种镜像
4.2.1 修改系统镜像(system.img)  
4.2.2 定制开机动画  
4.2.3 用户数据镜像(userdata.img)
4.2.4 内存磁盘镜像(ramdisk.img)  
4.2.5 Linux内核镜像(boot.img)  
4.2.6 制作已经有ROOT权限的ROM  
4.2.7 Recovery镜像(recovery.img)  
4.2.8 缓存镜像(cache.img)
4.2.9 制作完美的Bootloader ROM  
4.3   直接从CM源代码制作ROM  
4.3.1 制作Bootloader ROM
4.3.2 制作Recovery ROM
4.4   Edify语言  
4.4.1 Edify语言概述
4.4.2 测试Edity脚本(updater-script)
4.4.3 Edity函数详解
4.4.4 Edity语言的实现原理
4.5   集成Google Services Framework和Google Play
4.6   在CM ROM中集成第三方APK程序
4.6.1 为什么不能直接复制APK和ODEX文件
4.6.2 校验odex文件需要依赖哪些Library  
4.6.3 合并APK和ODEX文件  
4.7   小结  

第5章 Recovery深度分析与定制  
5.1   什么是Recovery  
5.2   Clockworkmod Recovery源代码解析
5.2.1 如何分析Recovery源代码  
5.2.2 显示主菜单
5.2.3 切换不同的菜单项
5.2.4 选择菜单项  
5.3   Recovery支持的各种操作
5.3.1 重启和关闭Android设备
5.3.2 从SD卡刷ROM
5.3.3 使用sideload模式刷ROM  
5.3.4 清除指定文件系统中的数据  
5.3.5 备份与恢复  
5.3.6 挂载(mount)、卸载(umount)和格式化(format)文件系统
5.4   添加自己的Recovery菜单项
5.5   汉化Recovery
5.5.1 汉化Recovery的原理和步骤
5.5.2 初始化字体  
5.5.3 绘制中文字符
5.6   小结  

第6章  Android系统应用的开发与测试
6.1    什么是Android系统应用
6.2    为什么要研究Android系统应用
6.3    如何编写Android系统应用
6.4    分析第一个Android系统应用:计算器  
6.4.1  计算器应用(Calculator)的基本结构
6.4.2  编译、测试和调试Calculator
6.4.3  允许其他Android应用通过Calculator计算表达式
6.5    小结

第7章 安装与卸载应用程序(PackageInstaller)
7.1   分析源代码的第一步应该做什么
7.2   寻找PackageInstaller的突破口  
7.3   安装和卸载Android应用的全部方式
7.4   安装Android应用前的校验
7.4.1 安装Android应用的初始化工作
7.4.2 显示校验窗口
7.4.3 获取Android应用的权限列表
7.5   开始安装应用程序
7.5.1 PackageInstaller的安装原理  
7.5.2 静默安装Android应用
7.6   卸载Android应用  
7.6.1 PackageInstaller卸载Android应用前的确认
7.6.2 卸载Android应用的原理
7.6.3 静默卸载Android应用  
7.7   小结

第8章 系统设置(一)
8.1   为系统设置添加新功能
8.1.1 系统设置的编译与权限
8.1.2 修改开机动画  
8.1.3 寻找Settings的入口点  
8.1.4 为Settings添加新的功能项
8.1.5 迁移修改开机动画的窗口类
8.2   Wi-Fi
8.2.1 如何为设置项添加Switch控件
8.2.2 为“修改开机动画”设置项添加Switch控件
8.2.3 “关闭/打开”Wi-Fi
8.2.4 系统信息与SQLite的WAL模式
8.2.5 禁止飞行模式下单独开启Wi-Fi

第9章   系统设置(二)
第10章  系统设置内容提供者
第11章  电话与联系人
第12章  短信和彩信管理
第13章  AndroidHome应用:Launcher2(一)
第14章  AndroidHome应用:Launcher2(二)
第15章  近场通信(NFC)的实现原理

��