Zgodność z wersją i migracja w Kotlinie

Na tej stronie znajdziesz informacje o zgodności wersji języka Kotlin z pakietem Navigation SDK oraz wskazówki dotyczące migracji do nowszej wersji.

W tabeli poniżej znajdziesz wymagania dotyczące wersji języka Kotlin oraz zalecane wersje AGP i Gradle w przypadku najnowszych wersji pakietu Navigation SDK.

Wersja pakietu Navigation SDK Wersja języka Kotlin (wymagana) Wersje wtyczki Androida do obsługi Gradle (AGP) i Gradle (zalecane)
8.0+ 2.3.0
  • AGP 9.0.1
  • Gradle 9.1.0

Ważne: w przypadku pakietu Navigation SDK w wersji 8.0 lub nowszej AGP 9.0.1 jest wymaganiem minimalnym, a nie zaleceniem. Pakiet SDK deklaruje minAndroidGradlePluginVersion=9.0.1, a kompilacje korzystające ze starszej wersji AGP kończą się niepowodzeniem.

7,7–7,9 2.3.0
  • AGP 8.13.2
  • Gradle 8.13
7,3–7,6 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 Zalecamy używanie wtyczki Androida do obsługi Gradle w wersji 7.3 lub nowszej, która zawiera obejście problemu JDK-8272564.
Kotlina w przypadku Gradle i wtyczki Androida do obsługi Gradle.

Zgodność wersji języka Kotlin

Kotlin 2.3 obsługuje zgodność wsteczną z Kotlinem 2.2. Oznacza to, że jeśli używasz już języka Kotlin 2.2 z pakietem Navigation SDK, możesz przejść na Kotlin 2.3 bez konieczności rozwiązywania wszystkich zmian powodujących niezgodność. Dotyczy to jednak tylko stabilnych funkcji językowych. Jeśli używasz w języku Kotlin funkcji w wersji alfa, beta lub eksperymentalnej, podczas uaktualniania może być konieczne wprowadzenie dodatkowych zmian.

Ułatwianie przejścia: flagi zgodności z Kotlinem

Kotlin udostępnia 2 flagi, które pomagają ograniczyć zmiany powodujące niezgodność:https://kotlinlang.org/docs/compatibility-modes.html

wersja języka X.Y,

Ten flag przywraca zmiany powodujące niezgodność do zachowania z poprzedniej wersji języka Kotlin. Jeśli na przykład używasz Kotlina 2.2, możesz określić [ - language-version 2.2], a nowe zmiany powodujące niezgodność nie będą już obowiązywać:

android {
   kotlinOptions {
       languageVersion = '2.2'
   }
}

api-version X.Y

Ten flag zgłasza błąd kompilacji Gradle, gdy używany jest interfejs API z wersji Kotlina nowszej niż apiVersion.

android {
   kotlinOptions {
       apiVersion = '2.2'
   }
}

Bardziej ukierunkowane podejście

Oprócz używania flag zgodności z Kotlinem zalecamy zapoznanie się z informacjami o wersji Kotlin i wybranie zachowań, które chcesz zachować z wersji, z której uaktualniasz. Kotlin udostępnia listę zmian powodujących niezgodność i flag, które można ustawić, aby zachować oryginalne działanie w przewodnikach zgodności dla każdej wersji:

Przyszłe aktualizacje języka Kotlin

Nowa wersja Kotlin (czyli wersja języka) jest udostępniana co 6 miesięcy. Google zwykle wprowadza najnowszą wersję jako domyślną w swoich usługach w ciągu 1–2 miesięcy od jej udostępnienia. Poprzednie wersje Kotlina zawierały zmiany powodujące niezgodność, które wymagały od klientów korzystających z Navigation SDK przejścia na nowszą wersję. Dlatego zalecamy planowanie aktualizacji do Kotlin co 6 miesięcy w przypadku korzystania z najnowszej wersji pakietu Navigation SDK.