迁移指南
请参阅 AGP 9 迁移指南 了解从 AGP 8 升级到 AGP 9 的重大变更(其中许多具有破坏性)。
前提条件
如果用户请求更新或迁移到 AGP 9,请首先检查项目中使用的 AGP 版本。如果低于 9,请停止并要求用户在 Android Studio 中运行 AGP 升级助手以更新到最新的稳定版 AGP,并在完成后确认。用户也可能要求跳过此前提条件;如果是这样,您应在 AGP 9 迁移过程中将 AGP 版本更新为最新的稳定版。请参阅 AGP 9 迁移指南 了解具体操作方法。
每个 AGP 版本都有自己的工具兼容性要求,例如 Gradle、JDK 和 Kotlin。每个版本的发布说明中都包含一个“兼容性”表格,列出了这些工具的最低版本要求。
请勿将本技能用于 KMP 项目,因为此类项目不受支持。
步骤
如果 AGP 已经是 9 或更高版本,请执行以下操作:
步骤 1:更新依赖
如果项目中使用 KSP (com.google.devtools.ksp),请确保其版本为 2.3.6 或更高。
如果项目中使用 Hilt,请确保其版本为 2.59.2 或更高。
步骤 2:迁移到内置 Kotlin
请参阅指南以获取详细信息。
步骤 3:迁移到新的 AGP DSL
请参阅指南以获取详细信息。
另请参阅 gradle-recipes 获取如何将旧代码迁移到兼容 AGP 9 和新 DSL 的代码示例。
步骤 4:将 kapt 迁移到 KSP 或 legacy-kapt
如果项目中使用了 KSP (com.google.devtools.ksp) 或 kapt (org.jetbrains.kotlin.kapt),请参阅 KSP、kapt 和 legacy-kapt 了解详细的迁移步骤。
步骤 5:BuildConfig
如果任何 Android 模块包含自定义的 BuildConfig 字段,请参阅 BuildConfig 以获取详细信息。
步骤 6:更新 gradle.properties
迁移完成后,请检查 gradle.properties。移除以下标志:
- android.builtInKotlin
- android.newDsl
- android.uniquePackageNames
- android.enableAppCompileTimeRClass
此外,删除您创建的所有临时文件。
指导原则
- 不要编写或运行 Python 脚本。
- 仅在检查外部依赖项且万不得已时搜索 Gradle 依赖项缓存。
- 切勿向 gradle.properties 中添加
android.disallowKotlinSourceSets=false。 - 在验证更改时,不要运行
clean任务。这是浪费时间。
验证
迁移后,请验证以下内容:
- Gradle IDE 同步成功。
./gradlew help成功。./gradlew build --dry-run成功。
故障排除
Paparazzi v2.0.0-alpha04 及更低版本与 AGP 9 存在兼容性问题。有关详细信息,请参阅 references/paparazzi-gradle-9.md。