Migrer vers Kotlin 2.0

Si vous utilisez le SDK Navigation pour Android 6.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 Navigation 6.0 ou version ultérieure

Nous vous recommandons d'utiliser AGP 7.3 ou version ultérieure avec le SDK Navigation 6.0. Nous avons vérifié le SDK avec AGP 8.3 et Gradle 8.4. Il est compatible avec le mode complet de R8.

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 Navigation, vous devriez pouvoir passer à Kotlin 2.0 sans avoir à résoudre toutes les modifications non compatibles. Toutefois, cela ne s'applique qu'aux fonctionnalités linguistiques stables. Si vous utilisez des fonctionnalités alpha, bêta ou expérimentales en langage Kotlin, vous devrez peut-être apporter des modifications supplémentaires lors de la mise à niveau.

Faciliter la transition : indicateurs 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 indicateurs pour limiter les modifications destructives:

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 dépendant en aval 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 destructives et les options pouvant être définies pour conserver le comportement d'origine dans ses guides de compatibilité pour chaque version: