Migracja dla pakietu Android Consumer SDK w wersji 2.0.0

Aktualizacje Gradle i wtyczki Androida do obsługi Gradle

Uaktualnij wersje wtyczki Gradle i Androida do obsługi Gradle

Najpierw uaktualnij wersje wtyczki Gradle i Androida do obsługi Gradle. To uaktualnienie zapewnia lepszą zgodność z niektórymi zależnościami pakietu SDK. (w tym Kotlin 1.9), a także kilka ważnych poprawek.

Ta główna wersja pakietu SDK wymaga tych zależności wersji w przypadku Twojego Projekt aplikacji na Androida:

  • wersję Gradle w wersji 7.5.0 lub nowszej niż 7.6.0.
  • wersji wtyczki Androida do obsługi Gradle (AGP) w zakresie 7.4.x.

Możesz kierować użytkowników na wyższą wersję wtyczek; jednak możesz uruchomić ostrzeżenia o wycofaniu, a niektóre nowe funkcje mogą nie działać.

Aby zmodyfikować wersję Gradle, zmodyfikuj wiersz w pliku /gradle/wrapper/gradle-wrapper.properties plik

distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip

Aby zmodyfikować wersję wtyczki Androida do obsługi Gradle, zmodyfikuj plik build.gradle, który zawiera blok buildscript. Na przykład:

buildscript {
    repositories {
        google()
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.1'
    }
}

Migracja obsługi biblioteki Java 7 do biblioteki Java 8

Krok 1. Włącz obsługę biblioteki Java 8

Źródło

Ponieważ minimalny poziom interfejsu API SDK to 23, a wymagana wersja AGP to 7.4 lub nowsza, konfiguracji jest nieco inny niż wspomniana dokumentacja źródłowa.

buildscript {

    repositories {
        google()
        mavenCentral()
        jcenter()
        maven {
            url = uri("https://storage.googleapis.com/r8-releases/raw")
        }
    }
    dependencies {
        classpath 'com.android.tools:r8:8.0.46'
        classpath 'com.android.tools.build:gradle:7.4.1'
    }
}

android {
    compileOptions {
        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled true
        // Sets Java compatibility to Java 8
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.3'
}

Krok 2. Przejdź z Proguard lub Dexguard na R8

R8, źródło

AGP w wersji 7.4 lub nowszej używa R8 jako domyślnego narzędzia do zmniejszania, zaciemniania kodu i optymalizacji dla pliku binarnego, więc na razie nie musisz nic robić.

Jeśli projekt został przeniesiony z AGP w wersji 4.0 lub nowszej, interfejs AGP może wyświetlić następujące ostrzeżenia o usuwaniu plików:

  • Użycie usługi useProguard true w build.gradle pliku
  • Użycie usługi android.enableR8=false w gradle.properties pliku

Usunięcie tych wierszy zazwyczaj rozwiązuje te problemy.

Migracja do Kotlin 1.6 do wersji 1.9

Krok 1. Przejdź na wtyczkę Kotlin Gradle 1.9.0

Źródło

Zaktualizuj wersję wtyczki Kotlin Gradle w module najwyższego poziomu aplikacji build.gradle. Pamiętaj, aby dodać: org.jetbrains.kotlin:kotlin-gradle-plugin w zależnościach z bloku buildscript, na wypadek gdyby go brakowało.

buildscript {
  dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0"
  }
}

Musisz przeprowadzić migrację swojej aplikacji z Kotlin-syntetics, jeśli zamierzasz z wtyczki Kotlin Gradle w wersji 1.6.X lub 1.7.X. Zapoznaj się z oficjalną migracją przewodnika po znajdziesz więcej informacji.

Krok 2. Uaktualnij kotlin-stdlib do wersji 1.9.0

Źródło

Uaktualnij kotlin-stblib do wersji 1.9.0 w pliku build.gradle aplikacji.

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.0"
}

Usuń wszelkie odniesienia do kotlin-stdlib-jdk7 lub kotlin-stdlib-jdk8 Obie zależności zostały skonsolidowane w kotlin-stdlib, początek w Kotlin 1.8.0.