Android Consumer SDK 3.0 移行ガイド
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Kotlin 2.0 に移行する
Consumer SDK for Android 3.0 以降を使用している場合は、Kotlin 2.0 にアップグレードする必要があります。このページでは、新しい Kotlin バージョンへの移行を容易にするためのガイダンスを提供します。
Gradle と AGP の互換性
Kotlin 2.0 には、Gradle と Android Gradle プラグイン(AGP)のバージョンの最小バージョンと最大バージョンの要件があります。プロジェクトが Kotlin 2.0 の要件を満たしていることを確認します。
Consumer SDK 3.0 以降の AGP の最小バージョン
Consumer SDK 3.0 では AGP 7.3 以降を使用する必要があります。
フル R8 モード
Consumer SDK v3 以前では、Full R8 モードはサポートされていません。アプリが AGP 8.0 以降をターゲットとしている場合は、Full R8 モードを明示的に無効にする必要があります。
# settings.gradle
android.enableR8.fullMode=false
Kotlin バージョンの互換性
Kotlin は、3 つ前の言語バージョンとの下位互換性をサポートしています。つまり、Consumer 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 では、各バージョンの互換性ガイドで、重大な変更のリストと、元の動作を保持するために設定できるフラグが提供されています。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-08-31 UTC。
[null,null,["最終更新日 2025-08-31 UTC。"],[[["\u003cp\u003eUpgrading to Kotlin 2.0 is mandatory when utilizing the Consumer SDK for Android 3.0 or later.\u003c/p\u003e\n"],["\u003cp\u003eEnsure your Gradle and Android Gradle Plugin (AGP) versions meet the compatibility requirements for Kotlin 2.0, with Consumer SDK 3.0+ necessitating AGP 7.3 or higher.\u003c/p\u003e\n"],["\u003cp\u003eDisable Full R8 mode explicitly for Consumer SDK v3 and below when targeting AGP 8.0+.\u003c/p\u003e\n"],["\u003cp\u003eWhile Kotlin generally offers backward compatibility, potential breaking changes might require adjustments, especially when using alpha, beta, or experimental Kotlin features.\u003c/p\u003e\n"],["\u003cp\u003eLeverage Kotlin compatibility flags like \u003ccode\u003elanguage-version\u003c/code\u003e and \u003ccode\u003eapi-version\u003c/code\u003e or consult the Kotlin compatibility guides for managing specific breaking changes during the upgrade.\u003c/p\u003e\n"]]],["To migrate to Kotlin 2.0 with Consumer SDK 3.0+, ensure your Gradle and AGP versions meet Kotlin 2.0 requirements (AGP 7.3+). Disable Full R8 mode if using AGP 8.0+ by setting `android.enableR8.fullMode=false` in `settings.gradle`. Utilize Kotlin compatibility flags, `languageVersion` and `apiVersion`, to revert breaking changes or limit new API usage. Consult the Kotlin compatibility guides for specific version changes and behavior flags.\n"],null,["Migrate to Kotlin 2.0\n\nIf you are using the Consumer SDK for Android 3.0+ you must upgrade to Kotlin\n2.0. This page provides guidance to ease the transition to the new Kotlin\nversion.\n| **Note:** For information on upgrading to Kotlin 1.9, which was required for the Consumer SDK 5.0+ see the [Kotlin 1.9 upgrade\n| guide](/maps/documentation/transportation-logistics/on-demand-rides-deliveries-solution/trip-order-progress/migrations/android_consumer_sdk_v2.0_migration#kotlin_16_to_19_migration).\n\nGradle and AGP compatibility\n\nKotlin 2.0 has [requirements for the minimum and maximum\nversions](https://kotlinlang.org/docs/gradle-configure-project.html#apply-the-plugin)\nfor your Gradle and Android Gradle Plugin (AGP) version. Ensure that your\nproject meets these requirements for Kotlin 2.0.\n\nAGP minimum version for the Consumer SDK 3.0+\n\nConsumer SDK 3.0 requires using AGP 7.3+.\n\nFull R8 mode\n\nConsumer SDK v3 and below does not support Full R8 mode. You must explicitly\ndisable Full R8 mode if your application targets AGP 8.0+. \n\n # settings.gradle\n android.enableR8.fullMode=false\n\nKotlin version compatibility\n\nKotlin supports backwards compatibility with [three previous language\nversions](https://kotlinlang.org/docs/kotlin-evolution-principles.html#compatibility-options).\nThis means that if you are already using Kotlin 1.7+ with the Consumer SDK, you\nshould be able to upgrade to Kotlin 2.0 without having to resolve all of the\nbreaking changes. However, [Kotlin compatibility only applies to stable language\nfeatures](https://kotlinlang.org/docs/components-stability.html#stability-levels-explained).\nIf you are using alpha, beta or experimental features in the Kotlin language,\nthen you may have to make additional changes when upgrading.\n\nKotlin compatibility flags\n\nAs noted in the previous section, Kotlin supports up to 3 previous versions of\nthe language when upgrading. Kotlin [supplies two flags to help with limiting\nbreaking changes](https://kotlinlang.org/docs/compatibility-modes.html):\n\nlanguage-version X.Y\n\nThis flag reverts breaking changes to the behavior of a previous Kotlin version.\nFor example, if you are using Kotlin 1.7, you could specify `[ -\nlanguage-version 1.7]` and the new breaking changes would no longer take effect: \n\n android {\n kotlinOptions {\n languageVersion = '1.7'\n }\n }\n\napi-version X.Y\n\nThis flag prevents new APIs from being used before dependent downstream code is\nready to incorporate Kotlin 2.0. \n\n android {\n kotlinOptions {\n apiVersion = '1.7'\n }\n }\n\nA more targeted approach\n\nIn addition to using Kotlin compatibility flags, we recommend reviewing the\nKotlin release notes and choosing the behaviors that you would like to retain\nfrom the version that you are upgrading from. Kotlin provides a list of breaking\nchanges and the flags that can be set to retain the original behavior in its\ncompatibility guides for each version:\n\n- [1.8 compatibility guide](https://kotlinlang.org/docs/compatibility-guide-18.html)\n- [1.9 compatibility guide](https://kotlinlang.org/docs/compatibility-guide-19.html)\n- [2.0 compatibility guide](https://kotlinlang.org/docs/compatibility-guide-20.html)"]]