Guide de migration du SDK Android Consumer 3.0

Migrer vers Kotlin 2.0

Si vous utilisez le SDK Consumer pour Android 3.0 ou version ultérieure, vous devez passer à Kotlin 2.0. Cette page fournit des conseils pour faciliter la transition vers la nouvelle version de Kotlin.

Compatibilité entre Gradle et AGP

Kotlin 2.0 comporte des exigences concernant les versions minimale et maximale pour votre version de Gradle et du plug-in Android Gradle (AGP). Assurez-vous que votre projet répond à ces exigences pour Kotlin 2.0.

Version minimale d'AGP pour le SDK Consumer 3.0 ou version ultérieure

Le SDK Consumer 3.0 nécessite l'utilisation d'AGP 7.3 ou version ultérieure.

Mode R8 complet

Le SDK grand public version 3 et les versions antérieures ne sont pas compatibles avec le mode R8 complet. Vous devez désactiver explicitement le mode R8 complet si votre application cible AGP 8.0 ou version ultérieure.

# settings.gradle
android.enableR8.fullMode=false

Compatibilité des versions de Kotlin

Kotlin est rétrocompatible avec trois versions précédentes du langage. Cela signifie que si vous utilisez déjà Kotlin 1.7 ou version ultérieure avec le SDK Consumer, vous devriez pouvoir passer à Kotlin 2.0 sans avoir à résoudre toutes les modifications non compatibles. Toutefois, la compatibilité Kotlin ne s'applique qu'aux fonctionnalités de langage stables. Si vous utilisez des fonctionnalités alpha, bêta ou expérimentales dans le langage Kotlin, vous devrez peut-être apporter des modifications supplémentaires lors de la mise à niveau.

Options de compatibilité Kotlin

Comme indiqué dans la section précédente, Kotlin est compatible avec jusqu'à trois versions précédentes du langage lors de la mise à niveau. Kotlin fournit deux options pour limiter les modifications de non-compatibilité:

language-version X.Y

Cet indicateur rétablit les modifications non compatibles avec le comportement d'une version précédente de Kotlin. Par exemple, si vous utilisez Kotlin 1.7, vous pouvez spécifier [ - language-version 1.7]. Les nouvelles modifications de non-compatibilité n'auront alors plus d'effet:

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

Cet indicateur empêche l'utilisation de nouvelles API avant que le code en aval dépendant ne soit prêt à intégrer Kotlin 2.0.

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

Une approche plus ciblée

En plus d'utiliser des indicateurs de compatibilité Kotlin, nous vous recommandons de consulter les notes de version de Kotlin et de choisir les comportements que vous souhaitez conserver à partir de la version à partir de laquelle vous effectuez la mise à niveau. Kotlin fournit une liste des modifications non compatibles et des indicateurs pouvant être définis pour conserver le comportement d'origine dans ses guides de compatibilité pour chaque version: