Migrazione per l'SDK consumer di Android v2.0.0

Aggiornamenti di Gradle e del plug-in Android per Gradle

Eseguire l'upgrade delle versioni di Gradle e del plug-in Android per Gradle

Innanzitutto, esegui l'upgrade delle versioni di Gradle e del plug-in Android per Gradle. Questo upgrade include una migliore compatibilità con alcune dipendenze dell'SDK (inclusa Kotlin 1.9), nonché alcune correzioni di bug critiche.

Questa release principale dell'SDK richiede le seguenti dipendenze di versione per il progetto di applicazione Android:

  • una versione di Gradle almeno 7.5.0, ma non superiore alla 7.6.0.
  • una versione del plug-in Android per Gradle (AGP) compresa tra la v7.4.x.

Puoi scegliere come target una versione più recente dei plug-in, ma potresti visualizzare avvisi di ritiro o alcune nuove funzionalità potrebbero non funzionare.

Per modificare la versione di Gradle, modifica la riga nel file /gradle/wrapper/gradle-wrapper.properties del progetto

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

Per modificare la versione del plug-in Android per 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 del supporto delle librerie da Java 7 a Java 8

Passaggio 1: attiva il supporto della libreria Java 8

Origine

Poiché il livello API SDK minimo è 23 e la versione AGP richiesta è 7.4 o successiva, la configurazione è leggermente diversa dalla documentazione della sorgente indicata.

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: esegui la migrazione da ProGuard o Dexguard a R8

R8, origine

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

Se la migrazione del progetto viene eseguita da AGP 4.0 o versioni successive, AGP potrebbe emettere i seguenti avvisi sulla rimozione dei file:

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

La rimozione di queste righe di solito risolve i problemi.

Migrazione da Kotlin 1.6 a 1.9

Passaggio 1: esegui la migrazione al plug-in Gradle di Kotlin 1.9.0

Origine

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

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

Devi eseguire la migrazione dell'applicazione da Kotlin-synthetics se proveni da Kotlin Gradle Plugin 1.6.X o 1.7.X. Per ulteriori informazioni, consulta la guida alla migrazione ufficiale.

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 in kotlin-stdlib a partire da Kotlin 1.8.0.