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.

Gradle- und AGP-Kompatibilität

Für Kotlin 2.0 gelten Anforderungen an die Mindest- und Höchst versionen von Gradle und des Android Gradle-Plug-ins (AGP). Achten Sie darauf, dass Ihr Projekt diese Anforderungen für Kotlin 2.0 erfüllt.

Mindestversion des AGP für das Consumer SDK 3.0 oder höher

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

Vollständiger R8-Modus

Das Consumer SDK 3.0 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 der Kotlin-Version

Kotlin unterstützt die Abwärtskompatibilität mit drei vorherigen Sprach versionen. Wenn Sie also bereits Kotlin 1.7 oder höher mit dem Consumer SDK verwenden, sollten Sie ein Upgrade auf Kotlin 2.0 durchführen können, ohne alle funktionsgefährdenden Änderungen beheben zu müssen. Die Kotlin-Kompatibilität gilt jedoch nur für stabile Sprach funktionen. 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 Upgrade bis zu drei vorherige Versionen der Sprache. Kotlin bietet zwei Flags, mit denen Sie funktionsgefährdende Änderungen begrenzen können:

language-version X.Y

Mit diesem Flag werden funktionsgefährdende Änderungen 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 wirksam:

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

Mit diesem Flag wird 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äts-Flags empfehlen wir Ihnen, die Versionshinweise zu Kotlin zu lesen und die Verhaltensweisen auszuwählen, die Sie aus der Version beibehalten möchten, von der Sie ein Upgrade durchführen. Kotlin bietet in den Kompatibilitätsleitfäden für jede Version eine Liste der Breaking Changes und der Flags, die festgelegt werden können, um das ursprüngliche Verhalten beizubehalten: