このページでは、Navigation SDK の Kotlin バージョンの互換性に関する情報と、新しいバージョンに移行するためのガイダンスを提供します。
Navigation SDK の Kotlin バージョンの要件
次の表に、Navigation SDK の最近のバージョンにおける Kotlin のバージョン要件と、推奨される AGP および Gradle のバージョンを示します。
Navigation SDK のバージョン | Kotlin バージョン(必須) | Android Gradle プラグイン(AGP)と Gradle のバージョン(推奨) |
---|---|---|
6.2 以降 | 2.1 |
|
6.0 ~ 6.2 | 2.0 |
|
5.1 - 5.99.1 | 1.9 | JDK-8272564 の回避策が用意されている AGP 7.3 以降を使用することをおすすめします。 |
Kotlin バージョンの互換性
Kotlin 2.1 は Kotlin 2.0 との下位互換性をサポートしています。つまり、Navigation SDK で Kotlin 2.0 をすでに使用している場合は、すべての互換性のない変更を解決しなくても Kotlin 2.1 にアップグレードできるはずです。ただし、これは安定版の言語機能にのみ適用されます。Kotlin 言語でアルファ版、ベータ版、試験運用版の機能を使用している場合は、アップグレード時に追加の変更が必要になることがあります。
移行を容易にする: Kotlin 互換性フラグ
Kotlin には、互換性を維持するのに役立つ 2 つのフラグが用意されています。https://kotlinlang.org/docs/compatibility-modes.html
language-version X.Y
このフラグは、以前の Kotlin バージョンの動作に対する破壊的変更を元に戻します。たとえば、Kotlin 2.0 を使用している場合は、[ -
language-version 2.0]
を指定すると、新しい互換性を破る変更は有効になりません。
android {
kotlinOptions {
languageVersion = '2.0'
}
}
api-version X.Y
このフラグは、apiVersion
より新しい Kotlin バージョンの API が使用された場合に Gradle ビルドエラーをスローします。
android {
kotlinOptions {
apiVersion = '2.0'
}
}
よりターゲットを絞ったアプローチ
Kotlin 互換性フラグを使用するだけでなく、Kotlin のリリースノートを確認し、アップグレード元のバージョンから保持したい動作を選択することをおすすめします。Kotlin では、各バージョンの互換性ガイドで、重大な変更のリストと、元の動作を保持するために設定できるフラグが提供されています。
今後の Kotlin のアップグレード
Kotlin は 6 か月ごとに新しいバージョン(言語リリース)をリリースしており、Google は通常、その 1 ~ 2 か月後に最新バージョンをプロダクトのデフォルトとして組み込んでいます。以前の Kotlin バージョンには、Navigation SDK のお客様が新しいバージョンにアップグレードする必要がある互換性を破る変更が含まれていました。そのため、最新バージョンの Navigation SDK を採用する場合は、6 か月ごとに Kotlin のアップグレードを計画することをおすすめします。