Migration für Android Consumer SDK Version 2.0.0

Updates für Gradle und das Android-Gradle-Plug-in

Gradle- und Android-Gradle-Plug-in-Versionen aktualisieren

Aktualisieren Sie zuerst Ihre Gradle- und Android-Gradle-Plug-in-Versionen. Dieses Upgrade bietet eine bessere Kompatibilität mit bestimmten SDK-Abhängigkeiten (einschließlich Kotlin 1.9) sowie einige wichtige Fehlerkorrekturen.

Für diese SDK-Hauptversion sind die folgenden Versionsabhängigkeiten für Ihr Android-App-Projekt erforderlich:

  • eine Gradle-Version von mindestens v7.5.0, aber nicht höher als v7.6.0.
  • eine Android-Gradle-Plug-in-Version (AGP) im Bereich von v7.4.x.

Sie können eine höhere Version der Plug-ins verwenden. Es kann jedoch zu Warnungen wegen Einstellung kommen oder einige neue Funktionen funktionieren möglicherweise nicht.

Wenn Sie die Gradle-Version ändern möchten, ändern Sie die Zeile in der Datei /gradle/wrapper/gradle-wrapper.properties Ihres Projekts.

distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip

Wenn Sie die Version des Android-Gradle-Plug-ins ändern möchten, ändern Sie die Datei build.gradle, die den Block buildscript enthält. Beispiel:

buildscript {
    repositories {
        google()
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.1'
    }
}

Migration der Bibliotheksunterstützung von Java 7 zu Java 8

Schritt 1: Unterstützung für Java 8-Bibliotheken aktivieren

Quelle

Da das minimale API-Level des SDK 23 und die erforderliche AGP-Version 7.4+ ist, unterscheidet sich die Konfiguration geringfügig von der genannten Quelldokumentation.

buildscript {

    repositories {
        google()
        mavenCentral()
        jcenter()
        maven {
            url = uri("https://storage.googleapis.com/r8-releases/raw")
        }
    }
    dependencies {
        classpath 'com.android.tools:r8:8.0.46'
        classpath 'com.android.tools.build:gradle:7.4.1'
    }
}

android {
    compileOptions {
        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled true
        // Sets Java compatibility to Java 8
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.3'
}

Schritt 2: Von Proguard oder Dexguard zu R8 migrieren

R8, Quelle

AGP v7.4+ verwendet R8 als Standardtool für die Verkleinerung, Verschleierung und Optimierung der Binärdatei. Daher sind an dieser Stelle keine besonderen Maßnahmen erforderlich.

Wenn das Projekt von AGP 4.0 oder höher migriert wird, gibt AGP möglicherweise die folgenden Warnungen zum Entfernen von Dateien aus:

  • useProguard true-Nutzung in build.gradle-Datei
  • android.enableR8=false-Nutzung in gradle.properties-Datei

Durch das Entfernen dieser Zeilen werden diese Probleme in der Regel behoben.

Migration von Kotlin 1.6 zu 1.9

Schritt 1: Zum Kotlin-Gradle-Plug-in 1.9.0 migrieren

Quelle

Aktualisieren Sie die Version des Kotlin-Gradle-Plug-ins in der Datei „build.gradle“ des Moduls auf oberster Ebene Ihrer Anwendung. Achten Sie darauf, org.jetbrains.kotlin:kotlin-gradle-plugin in den Abhängigkeiten aus dem buildscript-Block hinzuzufügen, falls es fehlt.

buildscript {
  dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0"
  }
}

Wenn Sie das Kotlin-Gradle-Plug-in 1.6.X oder 1.7.X verwenden, müssen Sie Ihre Anwendung von Kotlin-Synthetics migrieren. Weitere Informationen finden Sie in der offiziellen Migrationsanleitung.

Schritt 2: Upgrade von kotlin-stdlib auf 1.9.0

Quelle

Aktualisieren Sie kotlin-stblib in der Datei „build.gradle“ Ihrer Anwendung auf 1.9.0.

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.0"
}

Entfernen Sie alle Verweise auf kotlin-stdlib-jdk7 oder kotlin-stdlib-jdk8. Beide Abhängigkeiten wurden ab Kotlin 1.8.0 in kotlin-stdlib zusammengefasst.