第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 動態(tài)創(chuàng)建
2.4.1 反射基礎
2.4.2 反射進階
2.4.3 反射簡化jOOR
2.4.4 動態(tài)創(chuàng)建Fragment
2.4.5 動態(tài)配置Application
2.5 數據存儲
2.5.1 數據的存儲方式
2.5.2 組件化存儲
2.5.3 組件化數據庫
2.6 權限管理
2.6.1 權限機制
2.6.2 組件化權限
2.6.3 動態(tài)權限框架
2.6.4 路由攔截
2.7 靜態(tài)常量
2.7.1 資源限制
2.7.2 組件化的靜態(tài)變量
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章 組件化優(yōu)化
3.1 Gradle優(yōu)化
3.1.1 Gradle基礎
3.1.2 版本參數優(yōu)化
3.1.3 調試優(yōu)化
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 更優(yōu)的Gradle構建策略
4.2 極速增量編譯
4.2.1 Freeline的使用
4.2.2 Freeline運行介紹
4.3 小結
第5章 組件化分發(fā)
5.1 Activity分發(fā)
5.1.1 Activity的生命周期
5.1.2 Acitity分發(fā)技術
5.2 Fragment分發(fā)
5.2.1 Fragment的生命周期
5.2.2 Fragment分發(fā)技術
5.3 View分發(fā)
5.3.1 View的生命周期
5.3.2 View分發(fā)技術
5.4 依賴倒置
5.4.1 依賴倒置原則
5.4.2 依賴倒置分發(fā)
5.5 組件化列表配置
5.5.1 Javapoet語法基礎
5.5.2 編譯時注解配置
5.5.3 集成配置列表
5.6 加載優(yōu)化
5.6.1 線程加載
5.6.2 模塊懶加載
5.7 層級限制
5.8 多模板設計
5.8.1 多模板注解
5.8.2 腳本配置
5.8.3 動態(tài)配置
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 思維與架構