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 determinate dipendenze SDK (inclusa Kotlin 1.9), nonché alcune correzioni di bug critici.
Questa release principale dell'SDK richiede le seguenti dipendenze di versione per il tuo progetto di applicazione 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) nell'intervallo 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
Poiché il livello API minimo dell'SDK è 23 e la versione AGP richiesta è 7.4 o successive, la configurazione è leggermente diversa dalla documentazione della fonte 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+ utilizza R8 come strumento predefinito per la riduzione, l'offuscamento e l'ottimizzazione del binario, quindi a questo punto non è necessaria alcuna azione speciale.
Se il progetto viene migrato da AGP 4.0+, AGP potrebbe emettere i seguenti avvisi relativi alla rimozione dei file:
- Utilizzo di
useProguard true
nel filebuild.gradle
- Utilizzo di
android.enableR8=false
nel 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 Gradle 1.9.0
Aggiorna la versione del plug-in Kotlin 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 nel caso in cui non sia presente.
buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0"
}
}
Devi eseguire la migrazione dell'applicazione da Kotlin-synthetics se utilizzi il plug-in Gradle per Kotlin 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
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 eventuali 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.