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 の最小バージョン
AGP 7.3 以降と Driver SDK 6.0 を使用することをおすすめします。
完全な 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 では、各バージョンの互換性ガイドで、重大な変更のリストと、元の動作を保持するために設定できるフラグが提供されています。