Android Driver SDK 6.0 移行ガイド

DriverStatusListener インターフェースに移行する

Driver v5 で、Google は StatusListener インターフェースのサポート終了と DriverStatusListenerへの移行を発表しました。今年、Google は 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 以前では、R8 フルモードはサポートされていません。アプリケーションのターゲットが AGP 8.0 以降の場合は、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 では、各バージョンの互換性ガイドに、互換性を破る変更のリストと、元の動作を保持するために設定できるフラグが記載されています。