第1章 组件化基础 1
1.1你知道组件化吗 2
1.2基础组件化架构介绍 3
1.2.1依赖 4
1.2.2聚合和解耦 5
1.3重新认识AndroidManifest 6
1.3.1 AndroidManifest属性汇总 8
1.3.2 AndroidManifest属性变更 10
1.4你所不知道的Application 16
1.4.1 Applicaton的基础和作用 16
1.4.2组件化Application 18
1.5小结 19
第2章 组件化编程 21
2.1本地广播 22
2.1.1本地广播基础介绍 22
2.1.2使用方法 22
2.1.3本地广播源码分析 23
2.2组件间通信机制 25
2.2.1组件化层级障碍 26
2.2.2事件总线 26
2.2.3组件化事件总线的考量 32
2.3组件间跳转 35
2.3.1隐式跳转 35
2.3.2 ARouter路由跳转 37
2.3.3 Android路由原理 40
2.3.4组件化最佳路由 42
2.3.5空类索引 45
2.4动态创建 46
2.4.1反射基础 46
2.4.2反射进阶 49
2.4.3反射简化jOOR 54
2.4.4动态创建Fragment 55
2.4.5动态配置Application 59
2.5数据存储 64
2.5.1数据的存储方式 64
2.5.2组件化存储 67
2.5.3组件化数据库 71
2.6权限管理 73
2.6.1权限机制 73
2.6.2组件化权限 78
2.6.3动态权限框架 79
2.6.4路由拦截 82
2.7静态常量 87
2.7.1资源限制 87
2.7.2组件化的静态变量 88
2.7.3 R2.java的秘密 90
2.8资源冲突 94
2.8.1组件化的资源汇合 94
2.8.2组件化资源冲突 96
2.9组件化混淆 98
2.9.1 混淆基础 98
2.9.2资源混淆 103
2.9.3组件化混淆 107
2.10多渠道模块 110
2.10.1多渠道基础 110
2.10.2批量打包 112
2.10.3多渠道模块配置 122
2.11小结 129
第3章 组件化优化 131
3.1 Gradle优化 132
3.1.1 Gradle基础 132
3.1.2版本参数优化 135
3.1.3调试优化 140
3.1.4资源引用配置 142
3.1.5 Gradle 4.1依赖特性 144
3.2 Git组件化部署 146
3.2.1 submodule子模块 146
3.2.2 subtree 153
3.3小结 156
第4章 组件化编译 157
4.1 Gradle编译 158
4.1.1 Android基础编译流程 158
4.1.2 Instant Run 164
4.1.3更优的Gradle构建策略 169
4.2极速增量编译 174
4.2.1 Freeline的使用 175
4.2.2 Freeline运行介绍 177
4.3小结 182
第5章 组件化分发 183
5.1 Activity分发 184
5.1.1 Activity的生命周期 184
5.1.2 Acitity分发技术 186
5.2 Fragment分发 196
5.2.1 Fragment的生命周期 196
5.2.2 Fragment分发技术 198
5.3 View分发 201
5.3.1 View的生命周期 201
5.3.2 View分发技术 204
5.4依赖倒置 208
5.4.1依赖倒置原则 208
5.4.2依赖倒置分发 208
5.5组件化列表配置 214
5.5.1 Javapoet语法基础 214
5.5.2编译时注解配置 217
5.5.3集成配置列表 219
5.6加载优化 229
5.6.1线程加载 229
5.6.2模块懒加载 233
5.7层级限制 235
5.8多模板设计 237
5.8.1多模板注解 237
5.8.2脚本配置 239
5.8.3动态配置 245
5.9小结 246
第6章 组件化流通 247
6.1内部流通 248
6.1.1 Maven基础 248
6.1.2本地缓存 249
6.1.3远程仓库 252
6.2组件化SDK 255
6.2.1 SDK基础知识 255
6.2.2 Python脚本合并 258
6.2.3 fat-aar脚本合并 261
6.3 JCenter共享 267
6.4小结 272
第7章 架构模板 273
7.1组件化模板 274
7.1.1模板基础 274
7.1.2模板制作 279
7.1.3实时模板 284
7.1.4头部注释模板 286
7.2注解检测 287
7.3小结 292
第8章 架构演化 293
8.1基础架构 294
8.2基础组件化 294
8.3模块化 295
8.4多模板化 296
8.5插件化 297
8.6进程化 299
8.7小结 301
附录A 思维与架构 302