DriverStatusListener
インターフェースに移行する
Driver v5 では、DriverStatusListener
を優先して StatusListener
インターフェースのサポートを終了することを発表しました。今年、StatusListener
インターフェースは正式に削除されます。新しいインターフェースへの移行ガイドについては、StatusListener
の非推奨をご覧ください。
Kotlin 2.0 に移行する
Android 6.0 以降用の Driver SDK を使用している場合は、Kotlin 2.0 にアップグレードする必要があります。このページでは、新しい Kotlin バージョンへの移行を容易にするためのガイダンスを提供します。
Gradle と AGP の互換性
Kotlin 2.0 には、Gradle と Android Gradle プラグイン(AGP)のバージョンの最小バージョンと最大バージョンの要件があります。プロジェクトが Kotlin 2.0 の要件を満たしていることを確認します。
Driver SDK 6.0 以降の AGP の最小バージョン
Driver SDK 6.0 で AGP 7.3 以降を使用することをおすすめします。
フル R8 モード
Driver SDK v6 以前は、Full R8 モードをサポートしていません。アプリが AGP 8.0 以降をターゲットとしている場合は、Full R8 モードを明示的に無効にする必要があります。
# settings.gradle
android.enableR8.fullMode=false
Kotlin バージョンの互換性
Kotlin は、3 つ前の言語バージョンとの下位互換性をサポートしています。つまり、Driver SDK で Kotlin 1.7 以降をすでに使用している場合は、すべての互換性を破る変更を解決しなくても Kotlin 2.0 にアップグレードできるはずです。ただし、Kotlin の互換性は安定版の言語機能にのみ適用されます。Kotlin 言語でアルファ版、ベータ版、試験運用版の機能を使用している場合は、アップグレード時に追加の変更が必要になることがあります。
Kotlin の互換性フラグ
前のセクションで説明したように、Kotlin はアップグレード時に最大 3 つ前のバージョンの言語をサポートしています。Kotlin には、互換性を損なう変更を制限するのに役立つ 2 つのフラグが用意されています。
language-version X.Y
このフラグは、以前の Kotlin バージョンの動作に対する破壊的変更を元に戻します。たとえば、Kotlin 1.7 を使用している場合は、[ -
language-version 1.7]
を指定すると、新しい互換性を破る変更は有効になりません。
android {
kotlinOptions {
languageVersion = '1.7'
}
}
api-version X.Y
このフラグにより、依存するダウンストリーム コードが Kotlin 2.0 を組み込む準備が整うまで、新しい API が使用されなくなります。
android {
kotlinOptions {
apiVersion = '1.7'
}
}
よりターゲットを絞ったアプローチ
Kotlin 互換性フラグを使用するだけでなく、Kotlin のリリースノートを確認し、アップグレード元のバージョンから保持したい動作を選択することをおすすめします。Kotlin では、各バージョンの互換性ガイドで、重大な変更のリストと、元の動作を保持するために設定できるフラグが提供されています。