Migrazione per l'SDK consumer di Android v2.0.0

Aggiornamenti per Gradle e il plug-in Android Gradle

Esegui l'upgrade delle versioni del plug-in Gradle e Android Gradle

Innanzitutto, esegui l'upgrade delle versioni del plug-in Gradle per Gradle e Android. Questo upgrade include una migliore compatibilità con determinate dipendenze dell'SDK (incluso Kotlin 1.9), oltre ad alcune correzioni di bug critici.

Questa release principale dell'SDK richiede le seguenti dipendenze di versione per il tuo Progetto app Android:

  • Una versione Gradle almeno alla v7.5.0 ma non successiva alla v7.6.0.
  • una versione del plug-in Android Gradle (AGP) nella gamma v7.4.x.

Puoi scegliere come target una versione successiva dei plug-in; ma potresti eseguire agli avvisi di ritiro, oppure alcune nuove funzionalità potrebbero non funzionare.

Per modificare la versione Gradle, modifica la riga nel File /gradle/wrapper/gradle-wrapper.properties

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

Per modificare la versione del plug-in Android Gradle, modifica il file build.gradle che contiene il blocco buildscript. Ad esempio:

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

Migrazione da Java 7 a Java 8

Passaggio 1: attiva il supporto della libreria Java 8

Origine

Poiché il livello API minimo dell'SDK è 23 e la versione AGP richiesta è 7.4 o successive, il è leggermente diversa dalla documentazione dell'origine menzionata.

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

Passaggio 2 - Migrazione da ProGuard o Dexguard a R8

R8, fonte

AGP 7.4+ utilizza R8 come strumento predefinito di riduzione, offuscamento e ottimizzazione per il file binario, quindi a questo punto non è necessaria alcuna azione speciale.

Se viene eseguita la migrazione del progetto da AGP 4.0 o versioni successive, AGP potrebbe visualizzare i seguenti avvisi informazioni sulle rimozioni di file:

  • Utilizzo di useProguard true in build.gradle file
  • Utilizzo di android.enableR8=false in gradle.properties file

La rimozione di queste righe in genere risolve i problemi.

Migrazione dalla versione 1.6 alla versione 1.9 di Kotlin

Passaggio 1 - Migrazione al plug-in Kotlin Gradle 1.9.0

Origine

Aggiorna la versione del plug-in Kotlin Gradle nel modulo di primo livello dell'applicazione il file build.gradle. Assicurati di aggiungere org.jetbrains.kotlin:kotlin-gradle-plugin nelle dipendenze del blocco buildscript nel caso in cui mancasse.

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

Se partecipi, devi eseguire la migrazione della tua applicazione dai sintetici Kotlin dal plug-in Kotlin Gradle 1.6.X o 1.7.X. Consulta il documento ufficiale sulla migrazione per ulteriori informazioni.

Passaggio 2 - Esegui l'upgrade di kotlin-stdlib alla versione 1.9.0

Origine

Esegui l'upgrade di kotlin-stblib alla versione 1.9.0 nel file build.gradle dell'applicazione.

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

Assicurati di rimuovere tutti i riferimenti a kotlin-stdlib-jdk7 o kotlin-stdlib-jdk8. Entrambe le dipendenze sono state consolidate kotlin-stdlib che inizia a Kotlin 1.8.0.