Migrationsleitfaden für das Android Consumer SDK 3.0

Zu Kotlin 2.0 migrieren

Wenn Sie das Consumer SDK for Android 3.0 oder höher verwenden, müssen Sie ein Upgrade auf Kotlin 2.0 durchführen. Auf dieser Seite finden Sie eine Anleitung, die den Übergang zur neuen Kotlin-Version erleichtern soll.

Kompatibilität von Gradle und AGP

Für Kotlin 2.0 gelten Mindest- und Höchstversionsanforderungen für Ihre Gradle- und Android-Gradle-Plug-in-Version (AGP). Achten Sie darauf, dass Ihr Projekt diese Anforderungen für Kotlin 2.0 erfüllt.

AGP-Mindestversion für das Consumer SDK 3.0+

Für das Consumer SDK 3.0 ist AGP 7.3 oder höher erforderlich.

Vollständiger R8-Modus

Das Consumer SDK v3 und niedriger unterstützt den vollständigen R8-Modus nicht. Sie müssen den vollständigen R8-Modus explizit deaktivieren, wenn Ihre Anwendung auf AGP 8.0 oder höher ausgerichtet ist.

# settings.gradle
android.enableR8.fullMode=false

Kompatibilität mit Kotlin-Versionen

Kotlin unterstützt die Abwärtskompatibilität mit drei vorherigen Sprachversionen. Wenn Sie also bereits Kotlin 1.7 oder höher mit dem Consumer SDK verwenden, sollten Sie auf Kotlin 2.0 upgraden können, ohne alle Breaking Changes beheben zu müssen. Die Kotlin-Kompatibilität gilt jedoch nur für stabile Sprachfunktionen. Wenn Sie Alpha-, Beta- oder experimentelle Funktionen in der Kotlin-Sprache verwenden, müssen Sie beim Upgrade möglicherweise zusätzliche Änderungen vornehmen.

Kotlin-Kompatibilitäts-Flags

Wie im vorherigen Abschnitt erwähnt, unterstützt Kotlin beim Upgraden bis zu drei vorherige Versionen der Sprache. Kotlin bietet zwei Flags, mit denen sich Breaking Changes einschränken lassen:

Sprachversion X.Y

Mit diesem Flag werden Breaking Changes am Verhalten einer vorherigen Kotlin-Version rückgängig gemacht. Wenn Sie beispielsweise Kotlin 1.7 verwenden, können Sie [ - language-version 1.7] angeben. Die neuen Breaking Changes werden dann nicht mehr angewendet:

android {
   kotlinOptions {
       languageVersion = '1.7'
   }
}
api-version X.Y

Dieses Flag verhindert, dass neue APIs verwendet werden, bevor der abhängige Downstream-Code für die Einbindung von Kotlin 2.0 bereit ist.

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

Gezielterer Ansatz

Zusätzlich zur Verwendung von Kotlin-Kompatibilitätsflags empfehlen wir, die Kotlin-Versionshinweise zu lesen und die Verhaltensweisen auszuwählen, die Sie aus der Version beibehalten möchten, von der Sie ein Upgrade durchführen. Kotlin bietet eine Liste der Breaking Changes und der Flags, die festgelegt werden können, um das ursprüngliche Verhalten in den Kompatibilitätsleitfäden für jede Version beizubehalten: