移行ガイド
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への移行
詳細はガイドを参照してください。
AGP 9および新しいDSLと互換性のあるコードへの移行例については、gradle-recipesも参照してください。
手順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依存関係キャッシュを検索し、それは最終手段としてのみ行ってください。
android.disallowKotlinSourceSets=falseをgradle.propertiesに追加しないでください。- 変更を検証する際は、
cleanタスクを実行しないでください。時間の無駄です。
検証
移行後、以下を確認してください。
- Gradle IDEの同期が成功すること。
./gradlew helpが成功すること。./gradlew build --dry-runが成功すること。
トラブルシューティング
Paparazzi v2.0.0-alpha04およびそれ以前のバージョンは、AGP 9と問題があります。詳細については、references/paparazzi-gradle-9.mdを参照してください。