基本信息
名称: Android核心原理与系统级应用高效开发
作者信息: 作者: 韩超 [ 中文 pdf ]
简单介绍
《Android核心原理与系统级应用高效开发》为Android系统级别的开发者系统化而有条理性地展示了庞大的Android系统的软件结构,点明开发思路;Android应用程序的开发者可以通过《Android核心原理与系统级应用高效开发》加深认识,拓展开发手段;从事Android硬件移植的开发者可以通过《Android核心原理与系统级应用高效开发》加深对系统全局的了解。
目录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312
| 第1篇 Android核心框架层开发 第1章 Android系统框架 1.1 Android系统基础结构 1.2 Android的开发环境 1.2.1 开发环境 1.2.2 源代码获取 1.2.3 编译Android源代码 1.2.4 仿真器运行 1.2.5 使用工具 1.3 系统结构和代码结构 1.3.1 软件系统结构 1.3.2 源代码结构 第2章 编译结构和各种构建 2.1 Android的系统构建 2.1.1 编译环境要求 2.1.2 构建流程 2.1.3 环境设置 2.1.4 系统构建结果 2.2 各种部件的构建 2.2.1 Android.mk的语法 2.2.2 各种部件的构建方式 2.2.3 预编译内容的安装 2.3 Android编译的板级支持 2.3.1 支持一个板的工作 2.3.2 buildspec.mk文件的作用 2.3.3 vendersetup.sh和lunch命令 2.3.4 BoardConfig.mk文件的作用 2.3.5 AndroidProducts.mk文件 2.3.6 AndroidBoard.mk文件 2.3.7 编译中的层叠加 第3章 本地层基础部分 3.1 本地层基础部分结构 3.2 C语言基础:Bionic 3.2.1 Bionic各个部分的结构 3.2.2 Bionic的头文件 3.2.3 内存泄露的检查库 3.2.4 属性系统的支持 3.3 C语言底层库 3.3.1 Log库 3.3.2 C语言工具库libcutils 3.3.3 属性和套接字支持 3.4 init可执行程序和相关脚本 3.4.1 init可执行程序的结构 3.4.2 启动脚本init.rc 3.4.3 init的内建动作和初始化 3.4.4 init的循环 3.4.5 设备管理功能 3.5 shell工具 3.5.1 shell程序sh 3.5.2 命令工具箱toolbox 3.6 Android属性和套接字机制 3.6.1 属性机制 3.6.2 套接字机制 第4章 本地层框架部分 4.1 本地层框架部分结构 4.2 框架层的工具库libutils 4.2.1 libutils的结构 4.2.2 基本的定义和类型 4.2.3 数据结构和容器类 4.2.4 工具类 4.2.5 引用计数和强弱引用指针 4.2.6 线程类及相关辅助功能 4.2.7 文件操作的监听循环 4.3 作为全局守护进程的可执行程序 4.3.1 app_process 4.3.2 keystore 4.3.3 installd 4.3.4 vold 4.3.5 netd 4.4 Binder的IPC机制结构 4.4.1 Android Binder机制的层次结构 4.4.2 具体Binder的实现 4.5 Binder库以及相关内容 4.5.1 具体Binder的实现 4.5.2 Binder库的核心功能 4.5.3 Binder框架和具体IPC结构的实现 4.5.4 IServiceManager相关 4.5.5 Binder库中的其他部分 4.6 servicemanager可执行程序和服务的实现 4.6.1 服务管理器可执行程序和进程 4.6.2 在系统中实现"服务" 4.6.3 servicemanager对服务的管理 4.6.4 Android中本地服务的层次结构 第5章 本地的启动流程、调试和设计结构 5.1 Android启动流程的本地阶段 5.1.1 启动流程概述 5.1.2 BootLoader运行及加载内核 5.1.3 Linux内核运行和加载根文件系统 5.1.4 运行用户空间的第一个进程 5.1.5 挂接各个文件系统 5.1.6 系统各个进程的运行 5.1.7 启动图 5.2 Android本地部分的调试 5.2.1 标准Linux调试方法 5.2.2 使用log的方法 5.2.3 Android的特殊调试工具 5.3 本地程序的结构设计 5.3.1 目标和设计思路 5.3.2 守护进程+保留Socket的设计结构 5.3.3 守护进程+本地层Binder的设计结构 第6章 Java运行环境 6.1 Dalvik虚拟机和相关工具 6.1.1 Dalvik的概述 6.1.2 虚拟机的实现和运行 6.1.3 Dalvik工具 6.1.4 nativehelper库 6.2 Java基础库libcore 6.2.1 libcore的源代码结构 6.2.2 luni目录中的内容 6.2.3 libcore中的其他内容 第7章 Java框架层 7.1 Java框架层结构 7.2 Android的Java层的API 7.2.1 Java框架层API的含义 7.2.2 API的描述文件 7.2.3 被隐藏的内容 7.2.4 不赞成使用的(过时的)API 7.3 Java框架库framework.jar 7.3.1 框架库的组成和作用 7.3.2 框架库的API 7.3.3 框架库的编译结构 7.3.4 框架库的各个部分 7.3.5 属性机制 7.3.6 套接字机制 7.4 Java服务库services.jar 7.4.1 服务库的组成和作用 7.4.2 服务管理器 7.4.3 主要的服务功能 7.4.4 启动结束的处理 7.5 资源包framework—res.apk 7.5.1 资源包的组成和作用 7.5.2 作为API的资源id 7.5.3 资源包AndroidManifest.Xml文件 7.6 策略库 7.6.1 策略库的组成和作用 7.6.2 策略库的功能和使用 7.7 Java层的Binder机制 7.7.1 Java Binder的框架 7.7.2 Java框架层的Binder使用 7.7.3 Binder中参数和返回值的类型 第8章 Java本地调用 8.1 Android的Java本地调用 8.1.1 JNI的基本概念 8.1.2 Android的JNI实现基础 8.1.3 Android中JNI的存在方式 8.2 在框架中使用JNI 8.2.1 框架层使用JNI的结构 8.2.2 框架层JNI的实现 8.3 在应用程序包中使用JNI 8.3.1 应用程序包的JNI部分 8.3.2 应用程序包中JNI的典型实现方式 8.3.3 结构上的几种变化 8.4 JNI的高级使用 8.4.1 JNI的双向调用 8.4.2 线程的处理 8.4.3 JNIHelp中的特殊处理 第9章 Java启动流程、调试和程序结构 9.1 Java部分的启动流程 9.1.1 启动流程概述 9.1.2 Java系统的守护进程 9.1.3 ZygoteInit类的执行 9.1.4 系统服务器部分 9.1.5 Java应用程序部分的启动 9.2 Java部分的调试 9.2.1 在Java中使用Log 9.2.2 Java层的命令行程序 9.2.3 代码内容相关的调试 9.2.4 DDMS工具 9.2.5 HierarchyViewer工具 9.3 Java层程序的结构设计 9.3.1 目标和设计思路 9.3.2 在系统服务器中服务的设计结构 9.3.3 Service组件的设计结构 第10章 GUI系统和应用程序管理 10.1 GUI系统的结构和模块关系 10.2 UI框架库及相关 10.2.1 基本类型方面 10.2.2 显示相关 10.2.3 按键和事件的处理 10.2.4 其他内容 10.3 Surface图层系统 10.3.1 Surface系统的结构 10.3.2 Surface本地的接口部分 10.3.3 Surface本地实现部分 10.3.4 Surface的JNI代码 10.3.5 Surface的Java部分 10.42D图形系统 10.4.12D图形系统的结构 10.4.2 Skia底层库 10.4.3 图形系统的JNI接口 10.4.42D图形包 10.53D图形系统 10.5.1 OpenGL系统的结构 10.5.2 OpenGL的本地代码 10.5.3 OpenGL的JNI代码 10.5.4 OpenGL的Java类 10.6 窗口和视图部分 10.6.1 窗口和视图部分的结构 10.6.2 窗口管理的底层实现 10.6.3 视图实现和上层的窗口管理器的实现 10.7 活动和应用程序管理 10.7.1 活动和应用程序管理的结构 10.7.2 活动界面的实现 10.7.3 应用程序管理的实现 第2篇 Android系统级应用开发要点 第11章 Android应用层接口结构与安全 11.1 Android应用层接口结构 11.1.1 标准应用程序和源代码开发的应用程序 11.1.2 第三方应用程序和预置应用程序 11.2 Android的安全系统 11.2.1 安全机制概述 11.2.2 Linux的用户和组 11.2.3 Android的许可 11.3 程序签名问题 11.3.1 Android应用签名的概念 11.3.2 Android应用签名的流程 11.3.3 不同的程序签名 11.3.4 证书生成工具 11.4 安全策略 11.4.1 安全策略的几个方面 11.4.2 安全策略的实现 11.4.3 安全策略的定制 第12章 应用层的本地内容和NDK开发 12.1 本地应用的标准化 12.2 NDK环境 12.2.1 NDK的基本概念 12.2.2 从几个方面理解NDK的不同含义 12.3 NDK的组成结构 12.3.1 NDK环境的结构 12.3.2 NDK中包含的内容 12.4 NDK开发基础 12.4.1 编译流程 12.4.2 NDK编程要点 12.4.3 开发结构 12.5 使用JNI的方式 12.5.1 NDK中使用JNI工程结构 12.5.2 在本地操作Bitmap位图 12.5.3 在本地使用OpenGL ES绘制 12.5.4 程序实现 12.6 在本地构建应用 12.6.1 本地应用接口基础 12.6.2 实现本地活动的辅助库: android_native_app_glue 12.6.3 程序实现 第13章 预置的应用程序层 13.1 预置应用层程序概述 13.2 预置综合应用程序 13.2.1 主屏幕 13.2.2 设置 13.2.3 联系人和电话 13.2.4 短信息和彩信 13.2.5 浏览器和邮件 13.2.6 音乐 13.2.7 照相机和录音机 13.2.8 画廊 13.2.9 搜索 13.2.10 时钟、计算器和日历 13.3 预置内容提供者 13.3.1 联系人信息提供者 13.3.2 媒体信息提供者 13.3.3 电话信息提供者 13.3.4 下载信息提供者 13.4 预置输入法 13.5 活动墙纸系统 13.5.1 活动墙纸选择器 13.5.2 几个具体的活动墙纸 13.6 实现框架功能的应用程序包 13.6.1 系统界面 13.6.2 设置信息提供者 13.6.3 几个主体为Service组件的应用程序包 第14章 Android系统定制 14.1 Android系统定制概述 14.2 普通应用程序的定制 14.2.1 普通应用定制的方面 14.2.2 预置的应用程序的组件可见性 14.2.3 组件的intent—filter 14.3 桌面的定制 14.3.1 桌面程序的入口和功能 14.3.2 桌面程序细节 14.3.3 在桌面之前执行的程序 14.4 系统资源的定制 14.4.1 定义资源的概念和原则 14.4.2 一些配置的数值 14.4.3 可绘制内容的定制 14.4.4 样式和主题的定制 14.4.5 内部布局的定制 14.5 框架内部组件和界面的定制 14.5.1 内部组件 14.5.2 内部界面 14.6 状态栏界面的定制 14.6.1 状态栏界面的功能和布局 14.6.2 状态栏界面 14.7 锁屏界面的定制 14.7.1 锁屏界面的功能 14.7.2 锁屏界面 14.8 开机动画的定制 第15章 系统级的调试和测试 15.1 调试 15.1.1 命令行调试工具 15.1.2 界面上的辅助工具 15.2 测试系统和工具 15.2.1 测试系统的结构 15.2.2 Monkey. 15.2.3 MonkeyRunner 15.3 代码级别的测试 15.3.1 代码测试框架 15.3.2 代码测试方式 15.4 兼容性及兼容性测试 15.4.1 Android兼容性 15.4.2 CTS兼容性验证 15.4.3 CTS的相关源代码和原理 …… 附录A Android版本演进和Android 4.x
|
亚马逊链接