第1章
构建系统概览
Android构建系统发展史(Make、Ant、Gradle)· 核心概念(Task、Plugin、Build Variant)· 构建流程全景图
发展史核心概念全景图
第2章
Gradle基础入门
Groovy语法速览· Gradle Wrapper原理· settings.gradle和build.gradle文件结构· Project和Task模型
GroovyWrapperTask
第3章
Android Gradle Plugin初探
AGP版本与Gradle版本对应关系· apply plugin机制· android {} 配置块详解
AGPapply plugin配置块
第4章
构建变体(Build Variants)
Build Type(debug/release)· Product Flavor(免费版/付费版)· Flavor Dimensions· 变体过滤与组合
Build TypeFlavorDimensions
第5章
依赖管理
implementation vs api vs compileOnly· 依赖传递与排除· 动态版本与锁定· 本地依赖(aar/jar/module)
implementation传递依赖本地依赖
第6章
签名配置(Signing Config)
Keystore生成与管理· signingConfigs配置块· 签名信息保护· APK签名v1/v2/v3/v4
Keystore签名v1-v4
第7章
混淆与代码缩减(ProGuard/R8)
ProGuard规则文件编写· R8与ProGuard区别· keep规则详解· 混淆映射文件(mapping.txt)使用
ProGuardR8mapping
第8章
资源处理(Resource Processing)
资源合并优先级· 资源限定符(dpi/language等)· shrinkResources· 资源ID非最终化(Non-Transitive R Classes)
资源合并shrinkR类
第9章
构建缓存与增量构建
构建缓存原理· Gradle Build Cache· 配置缓存(Configuration Cache)· 增量编译与热部署
Build Cache增量编译热部署
第10章
模块化构建(Multi-Module)
模块拆分原则· 模块间通信(接口/依赖注入)· 模块化构建优化· 按需配置(on-demand configuration)
多模块通信按需配置
第11章
自定义Task与Plugin
Gradle Task创建方式(doLast/doFirst/type)· 自定义Plugin开发(buildSrc/独立工程)· Extension扩展配置
TaskPluginExtension
第12章
构建性能优化
构建速度分析(--profile/Build Scan)· 并行构建(parallel)· 守护进程(daemon)调优· 避免反模式
性能分析并行daemon
第13章
持续集成(CI)集成
Jenkins/GitHub Actions/GitLab CI配置· 构建参数化· 自动化签名· 构建产物归档与分发
CI自动化分发
第14章
构建脚本进阶
buildSrc vs 复合构建(Composite Build)· 版本目录(Version Catalog)· 约定插件(Convention Plugin)
buildSrcVersion Catalog约定插件
第15章
Android App Bundle(AAB)
AAB与APK区别· 动态功能模块(Dynamic Feature)· 按需分发(On-Demand Delivery)· Play Feature Delivery
AABDynamic Feature按需分发
第16章
构建产物分析
APK Analyzer使用· APK瘦身策略(资源/代码/库)· 构建报告分析(Build Analyzer)
APK分析瘦身Build Analyzer
第17章
测试构建
单元测试配置(testOptions)· 插桩测试配置(instrumentationTestRunner)· 代码覆盖率(Jacoco)· 测试变体
单元测试Jacoco测试变体
第18章
NDK与CMake集成
NDK构建流程· CMakeLists.txt编写· ABI过滤与兼容· JNI库构建优化
NDKCMakeABI
第19章
构建脚本调试
Gradle日志级别· Stacktrace分析· 断点调试Gradle脚本· 常见错误排查
日志调试Stacktrace
第20章
构建安全
依赖漏洞扫描(OWASP/ Snyk)· 构建供应链安全· 签名密钥保护· 构建环境隔离
安全漏洞扫描供应链
第21章
构建变体高级用法
变体维度矩阵· 变体专属源集(sourceSets)· 变体专属依赖· 变体专属资源
变体矩阵sourceSets专属依赖
第22章
构建脚本重构
提取公共逻辑· 使用闭包与委托· 构建脚本模块化· 版本统一管理
重构闭包版本管理
第23章
构建工具链演进
Bazel与Buck对比· Gradle vs Maven· 未来趋势(Kotlin DSL、Build Server Protocol)
BazelMavenKotlin DSL
第24章
构建环境管理
JDK版本管理(jenv/sdkman)· Gradle版本管理(sdkman)· 多版本SDK管理· Docker构建环境
JDKsdkmanDocker
第25章
构建产物签名与分发
Google Play签名(App Signing by Google Play)· 内部分发平台(Firebase App Distribution/蒲公英)· 构建产物版本管理
Google PlayFirebase分发
第26章
构建脚本测试
Task测试(TestKit)· Plugin测试(PluginUnderTest)· 构建逻辑单元测试
TestKitPlugin测试单元测试
第27章
构建与CI/CD深度集成
构建矩阵(Matrix Build)· 并行构建策略· 构建产物自动化测试· 构建通知与告警
Matrix并行策略通知告警
第28章
构建系统迁移
从Eclipse Ant迁移到Gradle· 从Groovy DSL迁移到Kotlin DSL· 从单模块迁移到多模块· 迁移常见问题
迁移Ant→GradleKotlin DSL
第29章
构建系统实战案例
大型项目构建优化案例· 模块化构建落地案例· CI/CD流水线搭建案例· 构建问题排查案例
实战优化案例CI/CD
第30章
构建系统未来展望
Gradle 8.x新特性· Kotlin DSL最佳实践· 构建缓存与远程缓存· 构建系统与AI结合(智能构建优化)
Gradle 8.xKotlin DSLAI构建