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

Gradle ve Android Gradle Plugin güncellemeleri

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

Öncelikle Gradle ve Android Gradle Plugin sürümünüzü yükseltin. Bu yükseltme, bazı önemli hata düzeltmelerinin yanı sıra belirli SDK bağımlılıklarıyla (Kotlin 1.9 dahil) daha iyi uyumluluk sunar.

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

  • En az 7.5.0, 7.6.0'dan yüksek olmayan bir 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şabilirsiniz 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 Plugin sürümünü değiştirmek için buildscript blokunu içeren build.gradle dosyasını değiştirin. Ö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 geçişi

1. Adım - Java 8 kitaplık desteğini etkinleştirin

Kaynak

SDK min. API düzeyi 23 ve gerekli AGP sürümü 7.4 ve üzeri olduğundan yapılandırma, belirtilen kaynak belgelerden 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ş

R8, kaynak

AGP 7.4+ sürümü, ikili program için varsayılan küçültme, kod karartma ve optimizasyon aracı olarak R8'i kullanır. Bu nedenle, bu noktada özel bir işlem yapılması gerekmez.

Proje, AGP 4.0 ve sonraki sürümlerden birine taşınırsa AGP, dosya kaldırma işlemleriyle ilgili olarak aşağıdaki uyarıları verebilir:

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

Bu satırları kaldırmak genellikle bu sorunları çözer.

Kotlin 1.6'dan 1.9'a taşıma

1. Adım - Kotlin Gradle Plugin 1.9.0'a taşıyın

Kaynak

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

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

Kotlin Gradle Plugin 1.6.X veya 1.7.X'ten geliyorsanız uygulamanızı Kotlin-synthetics'ten taşımanız gerekir. Daha fazla bilgi için resmi taşıma 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 uygulamasını 1.9.0 sürümüne 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 altında birleştirilmiştir.