Android Gradle 与 AGP 9 迁移

Android Gradle 的常见问题通常不是“看一篇概念介绍”,而是要解决构建慢、升级 AGP 失败、KSP/Kotlin 版本冲突、CI 不稳定和模块依赖混乱。这个页面把本站工程化内容按 AGP 9 迁移和构建治理重新组织。

迁移前先做清单

  1. 固定 Gradle、AGP、Kotlin、KSP、JDK 和 Android Studio 版本矩阵。
  2. 打开 Build Scan 或构建日志,先确认慢在配置阶段、任务执行、KSP/KAPT、资源处理还是 R8。
  3. 逐模块启用 Configuration Cache 兼容性检查,不要一次性改完整个仓库。
  4. 把依赖版本迁到 Version Catalog,把重复脚本沉到 Convention Plugins。
  5. 在 CI 里增加构建耗时、缓存命中率、Lint、单测和产物校验门禁。

AGP 9 关注点

  • Built-in Kotlin:AGP 9 默认启用内置 Kotlin 支持,升级时要处理 Kotlin Gradle Plugin 与 KSP 版本关系。
  • 默认行为变化:部分 buildFeatures、R8、NDK、compileSdk 消费约束会影响老项目。
  • 测试夹具与 IDE 支持:升级不只是命令行构建,也要验证 Android Studio 体验。
  • 插件兼容性:自研 Gradle 插件、字节码插桩、资源处理和发布插件都要单独验证。

核心阅读

排查路径

  • 构建整体慢:先看配置阶段和远程缓存,再看任务热点。
  • Kotlin/KSP 慢:看符号处理器数量、增量能力、模块边界和生成代码体积。
  • R8 慢:看 keep 规则、资源 shrink、混淆输入规模和多变体构建。
  • CI 慢:看缓存目录、依赖下载、并发策略、测试分层和产物复用。
  • 升级失败:先缩小到最小模块,再逐个恢复插件和自定义任务。

官方参考

相关专题