遷移指南
請參閱 AGP 9 遷移指南 了解從 AGP 8 升級到 AGP 9 的重大變更,其中許多是破壞性變更。
需求
如果使用者要求更新或遷移至 AGP 9,請先檢查專案中使用的 AGP 版本。若低於 9,請停止並要求使用者在 Android Studio 中執行 AGP Upgrade Assistant 更新至最新穩定版的 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 瞭解詳細資訊。