Android Tüketici SDK'sı v2.0.0 için Taşıma

Gradle ve Android Gradle eklentisi güncellemeleri

Gradle ve Android Gradle eklentisi sürümlerini yükseltme

Öncelikle Gradle ve Android Gradle eklentisi sürümlerinizi yükseltin. Bu yükseltme, belirli SDK bağımlılıklarıyla (Kotlin 1.9 dahil) daha iyi uyumluluğun yanı sıra bazı kritik hata düzeltmelerini içerir.

Bu SDK ana sürümü, Android uygulama projeniz için aşağıdaki sürüm bağımlılıklarını gerektirir:

  • En az 7.5.0, en fazla 7.6.0 Gradle sürümü.
  • v7.4.x aralığında bir Android Gradle Eklentisi (AGP) sürümü

Eklentilerin daha yüksek bir sürümünü hedefleyebilirsiniz ancak kullanımdan kaldırma uyarılarıyla karşılaşabilir veya bazı yeni özellikler çalışmayabilir.

Gradle sürümünü değiştirmek için projenizin /gradle/wrapper/gradle-wrapper.properties dosyasındaki satırı değiştirin.

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

Android Gradle eklentisinin sürümünü değiştirmek için build.gradle dosyasını değiştirin. Bu dosya, buildscript bloğunu içerir. Örneğin:

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

Java 7'den Java 8'e kitaplık desteği taşıma

1. adım: Java 8 kitaplık desteğini etkinleştirin

Kaynak

SDK'nın minimum API düzeyi 23 ve gerekli AGP sürümü 7.4+ olduğundan yapılandırma, belirtilen kaynak dokümanından biraz farklıdır.

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'
}

2. adım: Proguard veya Dexguard'dan R8'e geçiş yapın

R8, kaynak

AGP v7.4+, ikili dosya için varsayılan küçültme, karartma ve optimizasyon aracı olarak R8'i kullandığından bu noktada özel bir işlem yapılması gerekmez.

Proje AGP 4.0 veya sonraki bir sürümden taşındıysa AGP, dosya kaldırma işlemleriyle ilgili aşağıdaki uyarıları verebilir:

  • useProguard true kullanımı (build.gradle dosyası)
  • android.enableR8=false kullanımı (gradle.properties dosyası)

Bu satırların kaldırılması genellikle bu sorunları çözer.

Kotlin 1.6'dan 1.9'a geçiş

1. adım: Kotlin Gradle eklentisi 1.9.0'a geçiş yapın

Kaynak

Uygulamanızın en üst düzey modülündeki build.gradle dosyasında Kotlin Gradle Eklentisi sürümünü güncelleyin. Eksik olması durumunda org.jetbrains.kotlin:kotlin-gradle-plugin öğesini, buildscript bloğundaki bağımlılıklara eklediğinizden emin olun.

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

Kotlin Gradle Eklentisi 1.6.X veya 1.7.X'ten geçiş yapıyorsanız uygulamanızı Kotlin-synthetics'ten taşımanız gerekir. Daha fazla bilgi için resmi geçiş kılavuzuna bakın.

2. adım: kotlin-stdlib'i 1.9.0 sürümüne yükseltin

Kaynak

Uygulamanızın build.gradle dosyasında kotlin-stblib sürümünü 1.9.0'a yükseltin.

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

kotlin-stdlib-jdk7 veya kotlin-stdlib-jdk8 ile ilgili tüm referansları kaldırdığınızdan emin olun. Her iki bağımlılık da Kotlin 1.8.0'dan itibaren kotlin-stdlib içinde birleştirilmiştir.