刘望舒,Android高级工程师,拥有多年开发和技术管理经验,对Android框架层及应用层开发有着深入的理解。热爱技术和分享,连续6年在CSDN发表技术文章,有多篇文章广受好评,并被授予CSDN博客专家称号。此外,他还活跃在简书和掘金。曾在多家知名公司从事Android开发。
独立博客:
http://fiuwangshu.crl
CSDN博客:
http://blog.csdn.net/itachi85
新浪微博:
http://weibo.com/itachi85
微信公众号:刘望舒
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | Android进阶指北(Android进阶三部曲) |
分类 | 科学技术-工业科技-电子通讯 |
作者 | 刘望舒 |
出版社 | 电子工业出版社 |
下载 | ![]() |
简介 | 作者简介 刘望舒,Android高级工程师,拥有多年开发和技术管理经验,对Android框架层及应用层开发有着深入的理解。热爱技术和分享,连续6年在CSDN发表技术文章,有多篇文章广受好评,并被授予CSDN博客专家称号。此外,他还活跃在简书和掘金。曾在多家知名公司从事Android开发。 独立博客: http://fiuwangshu.crl CSDN博客: http://blog.csdn.net/itachi85 新浪微博: http://weibo.com/itachi85 微信公众号:刘望舒 目录 Android进阶三部曲知识体系 第1章 系统源码的下载、编译、调试 1.1 使用VirtualBox安装Ubuntu 1.1.1 安装Ubuntu的步骤 1.1.2 安装增强工具 1.2 AOSP源码下载 1.2.1 AOSP简介 1.2.2 下载repo 1.2.3 下载源码 1.3 内核源码下载 1.4 系统源码的整编和单编 1.4.1 编译系统概述 1.4.2 编译源码的方式 1.4.3 准备编译环境 1.4.4 源码整编 1.4.5 源码单编 1.5 Source Insight导入系统源码 1.5.1 新建源码项目 1.5.2 定位文件 1.5.3 全局搜索 1.6 Android Studio导入系统源码 1.7 Android Studio调试系统源码 1.7.1 AOSP源码项目调试 1.7.2 导入部分源码调试 1.7.3 新建Android项目调试 1.8 本章小结 第2章 理解包管理机制和PMS 2.1 PackageInstaller的初始化 2.1.1 PackageManager简介 2.1.2 APK的文件结构和安装方式 2.1.3 寻找PackageInstaller入口 2.1.4 PackageInstallerActivity解析 2.1.5 PackageInstaller初始化的过程 2.2 PackageInstaller安装APK过程 2.2.1 PackageInstaller中的处理 2.2.2 Java框架层的处理 2.2.3 PackageInstaller安装APK的过程 2.3 PMS处理APK的安装过程 2.3.1 PackageHandler处理安装消息 2.3.2 复制APK的处理 2.3.3 PMS处理APK安装 2.3.4 PMS处理APK安装的步骤 2.4 PMS的创建过程 2.4.1 SystemServer处理部分 2.4.2 PMS构造方法 2.5 APK解析过程 2.5.1 引入PackageParser 2.5.2 PackageParser解析APK 2.5.3 Package的数据结构 2.6 本章小结 第3章 理解输入系统和IMS 3.1 输入事件传递流程的组成部分 3.2 IMS的诞生 3.2.1 SystemServer处理部分 3.2.2 InputManagerService构造方法 3.3 IMS的启动过程 3.4 InputDispatcher的启动过程 3.5 InputReader处理事件的过程 3.6 输入事件的处理总结 3.7 InputReader的加工类型 3.8 InputDispatcher的分发过程 3.8.1 唤醒InputDispatcherThread 3.8.2 InputDispatcher进行分发 3.9 事件分发到目标窗口的过程 3.9.1 为事件寻找合适的分发目标 3.9.2 处理点击形式的事件 3.9.3 向目标窗口发送事件 3.9.4 Motion事件分发过程总结 3.10 本章小结 第4章 IPC机制 4.1 Linux和Android的IPC机制 4.1.1 Linux中的IPC机制 4.1.2 Android中的IPC机制 4.2 开启多进程 4.2.1 开启多进程举例 4.2.2 开启多进程引出的问题 4.3 用Messenger进行进程间通信 4.4 使用AIDL实现跨进程方法调用 4.4.1 创建AIDL文件 4.4.2 创建服务端 4.4.3 客户端调用 4.5 用ContentProvider进行进程间通信 4.5.1 建立数据库,方便ContentProvider使用 4.5.2 使用ContentProvider对数据库进行操作 4.5.3 在Activity中调用另一个进程的GameProvider方法 4.6 用Socket实现跨进程聊天程序 4.7 本章小结 第5章 Native Binder原理 5.1 学习Binder的前置知识点 5.1.1 Linux和Binder的IPC通信原理 5.1.2 使用Binder的原因 5.1.3 学习Binder的原因 5.2 ServiceManager中的Binder机制 5.2.1 基于Binder通信的C/S架构 5.2.2 MediaServer的main函数 5.2.3 每个进程唯一的ProcessState实例 5.2.4 解析ServiceManager中的Binder机制 5.2.5 小结 5.3 系统服务的注册过程 5.3.1 从调用链角度说明MediaPlayerService的注册过程 5.3.2 从进程角度说明MediaPlayerService的注册过程 5.3.3 小结 5.4 ServiceManager的启动过程 5.4.1 打开binder设备 5.4.2 注册成为Binder机制的上下文管理者 5.4.3 循环等待和处理客户端发来的请求 5.5 系统服务的获取过程 5.5.1 客户端MediaPlayerService请求获取服务 5.5.2 服务端ServiceManager处理请求 5.6 本章小结 第6章 Java Binder原理 6.1 Java Binder的JNI注册 6.1.1 Binder类的注册 6.1.2 BinderInternal类的注册 6.2 Java Binder中系统服务的注册过程 6.2.1 将AMS注册到ServiceManager 6.2.2 引出JavaBBinder 6.2.3 解析JavaBBinder 6.2.4 Java Binder架构 6.3 本章小结 第7章 Groovy基础 7.1 Groovy概述 7.2 Groovy编写和调试 7.3 变量 7.4 方法 7.5 类 7.6 语句 7.6.1 断言 7.6.2 for循环 7.6.3 switch语句 7.7 数据类型 7.7.1 字符串 7.7.2 List 7.7.3 Map 7.7.4 闭包(Closure) 7.8 I/O操作 7.8.1 文件 内容推荐 本书是一本Android进阶图书,结合《Android进阶之光》和((Android进阶解密》两本书介绍的知识,一同建立起Android应用开发进阶知识体系。全书共分13章,主要从3个方面来组织内容:(1)Android应用开发所需要掌握的系统源码知识,包括系统源码的下载、编译、调试,包管理机制,输入系统,Native Binder,Java Binder;(2)应用开发必需的知识点,包括Groovy基础、Gradle核心思想、Gradle的Android插件、Android Jetpack架构组件;(3)与跨平台开发相关的知识点,包括跨平台技术演进、Dart基础、Flutter基础。 本书适合有一定基础的Android应用开发工程师和对Android系统源码感兴趣的读者阅读。 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。