展开全部

主编推荐语

本书详细介绍了插件化技术的原理、各种方案,及其在Android App中的使用方法。

内容简介

本书在介绍插件化技术的同时,还详细介绍了Android 系统的底层知识,有助于App开发人员深入理解Android系统,从而写出更健壮的代码。全书分为三大部分,共22章。第1部分“预备知识”包括第1~5章,是进行Android插件化编程的准备知识,先介绍Android插件化技术的历史和现状,系统介绍了Android的底层知识以及反射、代理等技术。第2部分“解决方案”包括第6~16章,详细介绍并分析了插件化编程的各种解决方案,以及一些插件化框架的实现原理,如that、Zeus等。第3部分“相关技术”包括第17~21章,介绍插件化编程的周边技术,包括降级、混淆、增量更新等,并对纷繁复杂的插件化技术进行了总结。

目录

  • 版权信息
  • 序一
  • 序二
  • 序三
  • 前言
  • 第一部分 预备知识
  • 第1章 插件化技术的昨天、今天与明天
  • 1.1 插件化技术是什么
  • 1.2 为什么需要插件化
  • 1.3 插件化技术的历史
  • 1.4 插件化技术的用途到底是什么
  • 1.5 更好的替代品:React Native
  • 1.6 只有中国这么玩吗
  • 1.7 四大组件都需要插件化技术吗
  • 1.8 双开和虚拟机
  • 1.9 从原生页面到HTML 5的过渡
  • 1.10 本章小结
  • 第2章 Android底层知识
  • 2.1 概述
  • 2.2 Binder原理
  • 2.3 AIDL原理
  • 2.4 AMS
  • 2.5 Activity工作原理
  • 2.6 App内部的页面跳转
  • 2.7 Context家族史
  • 2.8 Service工作原理
  • 2.9 BroadcastReceiver工作原理
  • 2.10 ContentProvider工作原理
  • 2.11 PMS及App安装过程
  • 2.12 ClassLoader家族史
  • 2.13 双亲委托
  • 2.14 MultiDex
  • 2.15 实现一个音乐播放器App
  • 2.16 本章小结
  • 第3章 反射
  • 3.1 基本反射技术
  • 3.2 jOOR
  • 3.3 对基本反射语法的封装
  • 3.4 对反射的进一步封装
  • 3.5 本章小结
  • 第4章 代理模式
  • 4.1 概述
  • 4.2 静态代理和动态代理
  • 4.3 对AMN的Hook
  • 4.4 对PMS的Hook
  • 4.5 本章小结
  • 第5章 对startActivity方法进行Hook
  • 5.1 startActivity方法的两种形式
  • 5.2 对Activity的startActivity方法进行Hook
  • 5.3 对Context的startActivity方法进行Hook
  • 5.4 启动没有在AndroidManifest中声明的Activity
  • 5.5 本章小结
  • 第二部分 解决方案
  • 第6章 插件化技术基础知识
  • 6.1 加载外部的dex
  • 6.2 面向接口编程
  • 6.3 插件的瘦身
  • 6.4 对插件进行代码调试
  • 6.5 Application的插件化解决方案
  • 6.6 本章小结
  • 第7章 资源初探
  • 7.1 资源加载机制
  • 7.2 资源的插件化解决方案
  • 7.3 换肤
  • 7.4 殊途同归:另一种换肤方式
  • 7.5 本章小结
  • 第8章 最简单的插件化解决方案
  • 8.1 在AndroidManifest中声明插件中的组件
  • 8.2 宿主App加载插件中的类
  • 8.3 启动插件Service
  • 8.4 加载插件中的资源
  • 8.5 本章小结
  • 第9章 Activity的插件化解决方案
  • 9.1 启动没有在AndroidManifest中声明的插件Activity
  • 9.2 基于动态替换的Activity插件化解决方案
  • 9.3 加载插件中类的方案2:合并多个dex
  • 9.4 为Activity解决资源问题
  • 9.5 对LaunchMode的支持
  • 9.6 加载插件中类的方案3:修改App原生的ClassLoader
  • 9.7 本章小结
  • 第10章 Service的插件化解决方案
  • 10.1 Android界的荀彧和荀攸:Service和Activity
  • 10.2 预先占位
  • 10.3 startService的解决方案
  • 10.4 bindService的解决方案
  • 10.5 本章小结
  • 第11章 BroadcastReceiver的插件化解决方案
  • 11.1 Receiver概述
  • 11.2 动态广播的插件化解决方案
  • 11.3 静态广播的插件化解决方案
  • 11.4 静态广播的插件化终极解决方案
  • 11.5 本章小结
  • 第12章 ContentProvider的插件化解决方案
  • 12.1 ContentProvider基本概念
  • 12.2 一个简单的ContentProvider例子
  • 12.3 ContentProvider插件化
  • 12.4 执行这段Hook代码的时机
  • 12.5 ContentProvider的转发机制
  • 12.6 本章小结
  • 第13章 基于静态代理的插件化解决方案:that框架
  • 13.1 静态代理的思想
  • 13.2 一个最简单的静态代理的例子
  • 13.3 插件内部的页面跳转
  • 13.4 从“肉体”上消灭that关键字
  • 13.5 插件向外跳转
  • 13.6 面向接口编程在静态代理中的应用
  • 13.7 对LaunchMode的支持
  • 13.8 本章小结
  • 第14章 that框架对Service和BroadcastReceiver的支持
  • 14.1 静态代理的思想在Service的应用
  • 14.2 对BindService的支持
  • 14.3 Service的预先占位思想
  • 14.4 Service插件化的终极解决方案:动静结合
  • 14.5 静态代理的思想在BroadcastReceiver的应用
  • 14.6 本章小结
  • 第15章 再谈资源
  • 15.1 Android App的打包流程
  • 15.2 修改AAPT
  • 15.3 public.xml固定资源id值
  • 15.4 插件使用宿主的资源
  • 15.5 本章小结
  • 第16章 基于Fragment的插件化框架
  • 16.1 AndroidDynamicLoader概述
  • 16.2 最简单的Fragment插件化例子
  • 16.3 插件内部的Fragment跳转
  • 16.4 从插件的Fragment跳转到插件外部的Fragment
  • 16.5 本章小结
  • 第三部分 相关技术
  • 第17章 降级
  • 17.1 从Activity到HTML 5
  • 17.2 从HTML 5到Activity
  • 17.3 对返回键的支持
  • 17.4 本章小结
  • 第18章 插件的混淆
  • 18.1 插件的基本混淆
  • 18.2 方案1:不混淆公共库MyPluginLibrary
  • 18.3 方案2:混淆公共库MyPluginLibrary
  • 18.4 本章小结
  • 第19章 增量更新
  • 19.1 如何使用增量更新
  • 19.2 制作插件的增量包
  • 19.3 App下载增量包并解压到本地
  • 19.4 App合并增量包
  • 19.5 本章小结
  • 第20章 so的插件化解决方案
  • 20.1 编写一个最简单的so
  • 20.2 使用so
  • 20.3 so的加载原理
  • 20.4 基于System.load的插件化解决方案
  • 20.5 基于System.loadLibrary的插件化解决方案
  • 20.6 本章小结
  • 第21章 对App的打包流程进行Hook
  • 21.1 自定义Gradle插件
  • 21.2 修改resources.arsc
  • 21.3 本章小结
  • 第22章 插件化技术总结
  • 22.1 插件的工程化
  • 22.2 插件中类的加载
  • 22.3 哪些地方可以Hook
  • 22.4 Activity插件化的解决方案
  • 22.5 资源的解决方案
  • 22.6 Fragment是哪门哪派
  • 22.7 Service、ContentProvider、BroadcastReceiver插件化的通用解决方案
  • 22.8 特定于Service的插件化解决方案
  • 22.9 特定于BroadcastReceiver的插件化解决方案
  • 22.10 特定于ContentProvider的插件化解决方案
  • 22.11 本章小结
  • 附录
  • 附录A 常用工具
  • A.1 Android Studio
  • A.2 Jadx-GUI
  • A.3 010 Editor
  • 附录B 本书代码索引
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

机械工业出版社有限公司

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。