Przewodnik po migracji z Android Consumer SDK 3.0

Migracja do języka Kotlin 2.0

Jeśli używasz pakietu Consumer SDK na Androida w wersji 3.0 lub nowszej, musisz przejść na język Kotlin 2.0. Ta strona zawiera wskazówki, które ułatwią przejście na nową wersję języka Kotlin.

Zgodność z Gradle i wtyczką Androida do obsługi Gradle

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

Minimalna wersja wtyczki Androida do obsługi Gradle w przypadku pakietu Consumer SDK w wersji 3.0 lub nowszej

Pakiet Consumer SDK w wersji 3.0 wymaga używania wtyczki Androida do obsługi Gradle w wersji 7.3 lub nowszej.

Tryb pełny R8

Pakiet Consumer SDK w wersji 3 lub starszej nie obsługuje trybu pełnego R8. Jeśli Twoja aplikacja jest przeznaczona na wtyczkę Androida do obsługi Gradle w wersji 8.0 lub nowszej, musisz wyraźnie wyłączyć tryb pełny R8.

# settings.gradle
android.enableR8.fullMode=false

Zgodność wersji języka Kotlin

Język Kotlin obsługuje zgodność wsteczną z 3 poprzednimi wersjami języka. Oznacza to, że jeśli używasz już języka Kotlin 1.7 lub nowszego z pakietem Consumer SDK, możesz uaktualnić go do wersji 2.0 bez konieczności rozwiązywania wszystkich niezgodności. Zgodność z językiem Kotlin dotyczy jednak tylko stabilnych funkcji języka features. 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 językiem Kotlin

Jak wspomnieliśmy w poprzedniej sekcji, język Kotlin obsługuje podczas uaktualniania do 3 poprzednich wersji języka. Kotlin udostępnia 2 flagi, które pomagają ograniczyć niezgodności:

language-version X.Y

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

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

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

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

Bardziej ukierunkowane podejście

Oprócz używania flag zgodności z językiem Kotlin zalecamy zapoznanie się z informacjami o wersji języka Kotlin i wybranie zachowań, które chcesz zachować z wersji, z której uaktualniasz. Kotlin udostępnia listę niezgodności i flag, które można ustawić, aby zachować oryginalne zachowanie w przewodnikach zgodności dla każdej wersji: