Przewodnik po migracji z Android Consumer SDK 3.0

Migracja do Kotlina 2.0

Jeśli używasz pakietu Consumer SDK na Androida w wersji 3.0 lub nowszej, musisz przejść na Kotlina 2.0. Na tej stronie znajdziesz wskazówki, które ułatwią przejście na nową wersję Kotlina.

Zgodność Gradle i AGP

Kotlin 2.0 ma wymagania dotyczące minimalnej i maksymalnej wersji Gradle i wtyczki Androida do obsługi Gradle (AGP). Upewnij się, że Twój projekt spełnia te wymagania dotyczące Kotlin 2.0.

Minimalna wersja AGP dla pakietu Consumer SDK w wersji 3.0 lub nowszej

Pakiet Consumer SDK w wersji 3.0 wymaga użycia wtyczki AGP w wersji 7.3 lub nowszej.

Pełny tryb R8

Pakiet SDK dla klientów w wersji 3 i starszych nie obsługuje pełnego trybu R8. Jeśli aplikacja jest kierowana na wtyczkę Androida do obsługi Gradle w wersji 8.0 lub nowszej, musisz wyraźnie wyłączyć pełny tryb R8.

# settings.gradle
android.enableR8.fullMode=false

Zgodność wersji Kotlina

Kotlin obsługuje zgodność wsteczną z 3 poprzednimi wersjami języka. Oznacza to, że jeśli używasz już Kotlina w wersji 1.7 lub nowszej z pakietem Consumer SDK, możesz przejść na Kotlina 2.0 bez konieczności rozwiązywania wszystkich problemów związanych ze zmianami powodującymi niezgodność. Jednak zgodność z Kotlinem dotyczy tylko stabilnych funkcji języka. Jeśli używasz funkcji alfa, beta lub eksperymentalnych w języku Kotlin, podczas uaktualniania może być konieczne wprowadzenie dodatkowych zmian.

Flagi zgodności z Kotlinem

Jak wspomnieliśmy w poprzedniej sekcji, Kotlin obsługuje podczas uaktualniania maksymalnie 3 poprzednie wersje języka. Kotlin udostępnia 2 flagi, które pomagają ograniczyć zmiany powodujące niezgodność:

language-version X.Y

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

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

Ta flaga zapobiega używaniu nowych interfejsów API, zanim zależny kod podrzędny będzie gotowy do obsługi Kotlina 2.0.

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

Bardziej ukierunkowane podejście

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