Aggiornamenti di Gradle e del plug-in Android per Gradle
Esegui 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 (tra cui Kotlin 1.9), oltre ad alcune correzioni di bug critici.
Questa release principale dell'SDK richiede le seguenti dipendenze di versione per il progetto dell'app per Android:
- una versione di Gradle almeno v7.5.0, ma non superiore a v7.6.0.
- Una versione del plug-in Android per Gradle (AGP) compresa nell'intervallo v7.4.x.
Puoi scegliere come target una versione successiva dei plug-in, ma potresti riscontrare 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 delle librerie Java 8
Poiché il livello API minimo dell'SDK è 23 e la versione AGP richiesta è 7.4 o successive, la configurazione è leggermente diversa dalla documentazione di 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: esegui la migrazione da Proguard o Dexguard a R8
AGP v7.4 e versioni successive utilizza R8 come strumento predefinito di riduzione, offuscamento e ottimizzazione per il file binario, quindi non è necessaria alcuna azione speciale in questo momento.
Se il progetto viene migrato da AGP 4.0 o versioni successive, AGP potrebbe emettere i seguenti avvisi relativi alle rimozioni di file:
- Utilizzo di
useProguard truenel filebuild.gradle - Utilizzo di
android.enableR8=falsenel filegradle.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 Kotlin per Gradle 1.9.0
Aggiorna la versione del plug-in Kotlin per Gradle 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 non è presente.
buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0"
}
}
Se utilizzi il plug-in Gradle Kotlin 1.6.X o 1.7.X, devi eseguire la migrazione della tua applicazione da Kotlin-synthetics. Per ulteriori informazioni, consulta la guida alla migrazione ufficiale.
Passaggio 2: esegui l'upgrade di kotlin-stdlib alla versione 1.9.0
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.