第1章 组件化基础
1.1 你知道组件化吗
1.2 基础组件化架构介绍
1.2.1 依赖
1.2.2 聚合和解耦
1.3 重新认识AndroidManifest
1.3.1 AndroidManifest属性汇总
1.3.2 AndroidManifest属性变更
1.4 你所不知道的Application
1.4.1 Applicaton的基础和作用
1.4.2 组件化Application
1.5 小结
第2章 组件化编程
2.1 本地广播
2.1.1 本地广播基础介绍
2.1.2 使用方法
2.1.3 本地广播源码分析
2.2 组件间通信机制
2.2.1 组件化层级障碍
2.2.2 事件总线
2.2.3 组件化事件总线的考量
2.3 组件间跳转
2.3.1 隐式跳转
2.3.2 ARouter路由跳转
2.3.3 Android路由原理
2.3.4 组件化最佳路由
2.3.5 空类索引
2.4 动态创建
2.4.1 反射基础
2.4.2 反射进阶
2.4.3 反射简化jOOR
2.4.4 动态创建Fragment
2.4.5 动态配置Application
2.5 数据存储
2.5.1 数据的存储方式
2.5.2 组件化存储
2.5.3 组件化数据库
2.6 权限管理
2.6.1 权限机制
2.6.2 组件化权限
2.6.3 动态权限框架
2.6.4 路由拦截
2.7 静态常量
2.7.1 资源限制
2.7.2 组件化的静态变量
2.7.3 R2.java的秘密
2.8 资源冲突
2.8.1 组件化的资源汇合
2.8.2 组件化资源冲突
2.9 组件化混淆
2.9.1 混淆基础
2.9.2 资源混淆
2.9.3 组件化混淆
2.10 多渠道模块
2.10.1 多渠道基础
2.10.2 批量打包
2.10.3 多渠道模块配置
2.11 小结
第3章 组件化优化
3.1 Gradle优化
3.1.1 Gradle基础
3.1.2 版本参数优化
3.1.3 调试优化
3.1.4 资源引用配置
3.1.5 Gradle 4.1依赖特性
3.2 Git组件化部署
3.2.1 submodule子模块
3.2.2 subtree
3.3 小结
第4章 组件化编译
4.1 Gradle编译
4.1.1 Android基础编译流程
4.1.2 Instant Run
4.1.3 更优的Gradle构建策略
4.2 极速增量编译
4.2.1 Freeline的使用
4.2.2 Freeline运行介绍
4.3 小结
第5章 组件化分发
5.1 Activity分发
5.1.1 Activity的生命周期
5.1.2 Acitity分发技术
5.2 Fragment分发
5.2.1 Fragment的生命周期
5.2.2 Fragment分发技术
5.3 View分发
5.3.1 View的生命周期
5.3.2 View分发技术
5.4 依赖倒置
5.4.1 依赖倒置原则
5.4.2 依赖倒置分发
5.5 组件化列表配置
5.5.1 Javapoet语法基础
5.5.2 编译时注解配置
5.5.3 集成配置列表
5.6 加载优化
5.6.1 线程加载
5.6.2 模块懒加载
5.7 层级限制
5.8 多模板设计
5.8.1 多模板注解
5.8.2 脚本配置
5.8.3 动态配置
5.9 小结
第6章 组件化流通
6.1 内部流通
6.1.1 Maven基础
6.1.2 本地缓存
6.1.3 远程仓库
6.2 组件化SDK
6.2.1 SDK基础知识
6.2.2 Python脚本合并
6.2.3 fat-aar脚本合并
6.3 JCenter共享
6.4 小结
第7章 架构模板
7.1 组件化模板
7.1.1 模板基础
7.1.2 模板制作
7.1.3 实时模板
7.1.4 头部注释模板
7.2 注解检测
7.3 小结
第8章 架构演化
8.1 基础架构
8.2 基础组件化
8.3 模块化
8.4 多模板化
8.5 插件化
8.6 进程化
8.7 小结
附录A 思维与架构