Migration pour le SDK client Android v2.0.0

Mises à jour de Gradle et des plug-ins Android Gradle

Mettre à niveau les versions de Gradle et du plug-in Android Gradle

Commencez par mettre à niveau les versions de Gradle et du plug-in Android Gradle. Cette mise à niveau inclut une meilleure compatibilité avec certaines dépendances de SDK ; (y compris Kotlin 1.9), ainsi que quelques corrections de bugs critiques.

Cette version majeure du SDK nécessite les dépendances de version suivantes pour votre Projet d'application Android:

  • une version de Gradle (version 7.5.0 ou ultérieure à la version 7.6.0) ;
  • Une version du plug-in Android Gradle (AGP) comprise dans la plage v7.4.x.

Vous pouvez cibler une version supérieure des plug-ins. vous pouvez exécuter en avertissements d'abandon, ou certaines nouvelles fonctionnalités risquent de ne pas fonctionner.

Pour modifier la version de Gradle, modifiez la ligne dans le fichier /gradle/wrapper/gradle-wrapper.properties fichier

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

Pour modifier la version du plug-in Android Gradle, modifiez le fichier build.gradle que contient le bloc buildscript. Exemple :

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

Migration de la prise en charge des bibliothèques Java 7 vers Java 8

Étape 1 : Activez la compatibilité avec la bibliothèque Java 8

Source

Étant donné que le niveau d'API minimal du SDK est 23 et que la version AGP requise est 7.4+, le est légèrement différente de la documentation source mentionnée.

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'
}

Étape 2 : Passez de ProGuard ou Dexguard à R8

R8, source

AGP 7.4 et versions ultérieures utilisent R8 comme outil de minification, d'obscurcissement et d'optimisation par défaut pour le binaire, aucune action spéciale n'est donc requise à ce stade.

Si le projet est migré à partir d'AGP 4.0 ou version ultérieure, l'AGP peut générer les avertissements suivants sur la suppression de fichiers:

  • Utilisation de useProguard true dans le fichier build.gradle
  • Utilisation de android.enableR8=false dans le fichier gradle.properties

Supprimer ces lignes résout généralement ces problèmes.

Migration de Kotlin 1.6 vers Kotlin 1.6

Étape 1 : Migrer vers le plug-in Kotlin Gradle 1.9.0

Source

Mettre à jour la version du plug-in Kotlin Gradle dans le module de premier niveau de votre application build.gradle. Veillez à ajouter org.jetbrains.kotlin:kotlin-gradle-plugin dans les dépendances du bloc buildscript en cas de défaut.

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

Vous devez migrer votre application à partir de synthétiques Kotlin au cas où à partir du plug-in Kotlin Gradle 1.6.X ou 1.7.X. Consultez la documentation officielle sur la migration guide des plus d'informations.

Étape 2 : Mettez à niveau kotlin-stdlib vers la version 1.9.0

Source

Mettez à niveau kotlin-stblib vers la version 1.9.0 dans le fichier build.gradle de votre application.

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

Veillez à supprimer toute référence à kotlin-stdlib-jdk7 ou kotlin-stdlib-jdk8 Les deux dépendances ont été consolidées dans kotlin-stdlib à partir de Kotlin 1.8.0.