Compatibilité et migration des versions de Kotlin

Cette page fournit des informations sur la compatibilité des versions de Kotlin avec le SDK Navigation, ainsi que des conseils pour migrer vers une version plus récente.

Le tableau suivant présente les exigences concernant la version Kotlin, ainsi que les versions recommandées d'AGP et de Gradle pour les versions récentes du SDK Navigation.

Version du SDK Navigation Version de Kotlin (obligatoire) Versions du plug-in Android Gradle (AGP) et de Gradle (recommandées)
7.3 ou version ultérieure 2.2.10
  • AGP 8.10.0
  • Gradle 8.11.1
6.3 à 7.2 2.1
  • AGP 8.7.3
  • Gradle 8.10.2
6.0 à 6.2 2.0
  • AGP 8.3.0
  • Gradle 8.4
5.1 à 5.99.1 1.9 Nous vous recommandons d'utiliser AGP 7.3 ou version ultérieure, qui propose une solution de contournement pour JDK-8272564.

Compatibilité des versions de Kotlin

Kotlin 2.2 est rétrocompatible avec Kotlin 2.1. Cela signifie que si vous utilisez déjà Kotlin 2.1 avec le SDK Navigation, vous devriez pouvoir passer à Kotlin 2.2 sans avoir à résoudre toutes les modifications destructives. Toutefois, cela 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.

Faciliter la transition : options de compatibilité Kotlin

Kotlin fournit deux options pour limiter les modifications destructives : https://kotlinlang.org/docs/compatibility-modes.html

language-version X.Y

Cette option rétablit les modifications destructives du comportement d'une version Kotlin précédente. Par exemple, si vous utilisez Kotlin 2.1, vous pouvez spécifier [ - language-version 2.1], et les nouvelles modifications destructives ne prendront plus effet :

android {
   kotlinOptions {
       languageVersion = '2.1'
   }
}

api-version X.Y

Cette option génère une erreur de compilation Gradle lorsqu'une API d'une version Kotlin plus récente que apiVersion est utilisée.

android {
   kotlinOptions {
       apiVersion = '2.1'
   }
}

Une approche plus ciblée

En plus d'utiliser les options 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 des options qui peuvent être définies pour conserver le comportement d'origine dans ses guides de compatibilité pour chaque version :

Futures mises à niveau de Kotlin

Kotlin publie une nouvelle version (c'est-à-dire une version de langage) tous les six mois et Google intègre généralement la dernière version par défaut dans ses produits un à deux mois plus tard. Les versions précédentes de Kotlin incluaient des modifications destructives qui ont obligé les clients du SDK Navigation à passer à une version plus récente. Pour cette raison, nous vous recommandons de prévoir une mise à niveau de Kotlin tous les six mois lorsque vous adoptez la dernière version du SDK Navigation.