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é avec Gradle et AGP
Kotlin 2.0 a 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 et versions ultérieures
Le SDK Consumer 3.0 nécessite l'utilisation d'AGP 7.3 ou version ultérieure.
Mode R8 complet
Le SDK Consumer 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 les 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 incompatibles. Toutefois, la compatibilité Kotlin ne s'applique qu'aux fonctionnalités linguistiques 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.
Indicateurs de compatibilité Kotlin
Comme indiqué dans la section précédente, Kotlin est compatible avec les trois versions précédentes du langage lors de la mise à niveau. Kotlin fournit deux indicateurs pour limiter les changements cassants :
language-version X.Y
Cet indicateur rétablit les modifications incompatibles avec le comportement d'une version Kotlin précédente.
Par exemple, si vous utilisez Kotlin 1.7, vous pouvez spécifier [ -
language-version 1.7]
. Les nouvelles modifications destructives ne prendront alors plus 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 changements cassants et des indicateurs qui peuvent être définis pour conserver le comportement d'origine dans ses guides de compatibilité pour chaque version :