Przewodnik po migracji z Android Consumer SDK 3.0

Migracja do Kotlin 2.0

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

Zgodność Gradle i AGP

Kotlin 2.0 ma wymagania dotyczące minimalnej i maksymalnej wersji Gradle i wtyczki Androida do obsługi Gradle (AGP). Sprawdź, czy Twój projekt spełnia te wymagania dotyczące Kotlin 2.0.

Minimalna wersja AGP dla pakietu SDK dla konsumentów w wersji 3.0 lub nowszej

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

Tryb pełny R8

Pakiety SDK w wersji 3 i starszych nie obsługują trybu Full R8. Jeśli aplikacja jest kierowana na AGP w wersji 8.0 lub nowszej, musisz wyraźnie wyłączyć tryb pełny 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ż języka Kotlin w wersji 1.7 lub nowszej z pakietem SDK dla konsumentów, możesz przejść na wersję 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 w wersji 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, podczas uaktualniania Kotlin obsługuje do 3 poprzednich wersji języka. Kotlin udostępnia 2 flagi, które pomagają ograniczać zmiany powodujące problemy:

wersja językowa X.Y

Ten flag przywraca zmiany powodujące niezgodność do zachowania z poprzedniej wersji Kotlina. Jeśli na przykład używasz Kotlin 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

Ten flag uniemożliwia używanie nowych interfejsów API, zanim zależny kod podrzędny będzie gotowy do włączenia Kotlin 2.0.

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

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 dotyczących zgodności dla każdej wersji: