Note di rilascio del plug-in Android per Gradle 8.9

Il repository JCenter è diventato di sola lettura il 31 marzo 2021. Per ulteriori informazioni, consulta Aggiornamento del servizio JCenter.

Il sistema di compilazione di Android Studio è basato su Gradle e il plug-in Android per Gradle aggiunge diverse funzionalità specifiche per la compilazione di app per Android. Anche se il plug-in Android per Gradle (AGP) viene in genere aggiornato in modo sincrono con Android Studio, il plug-in (e il resto del sistema Gradle) può essere eseguito indipendentemente da Android Studio e aggiornato separatamente.

Questa pagina spiega come mantenere aggiornati gli strumenti Gradle e cosa contengono gli aggiornamenti recenti. Per le note di rilascio delle versioni precedenti del plug-in Android per Gradle, consulta le note di rilascio precedenti.

Per scoprire cosa è stato corretto in questa versione del plug-in Android per Gradle, consulta i problemi chiusi.

Per un riepilogo generale delle modifiche non compatibili imminenti nel plug-in Android per Gradle, consulta la roadmap del plug-in Android per Gradle.

Per informazioni dettagliate su come configurare le build Android con Gradle, consulta le seguenti pagine:

Per ulteriori informazioni sul sistema di compilazione Gradle, consulta la Guida dell'utente di Gradle.

Aggiorna il plug-in Android per Gradle

Quando aggiorni Android Studio, potresti ricevere una richiesta di aggiornare automaticamente il plug-in Android per Gradle all'ultima versione disponibile. Puoi scegliere di accettare l'aggiornamento o specificare manualmente una versione in base ai requisiti di compilazione del progetto.

Puoi specificare la versione del plug-in nel menu File > Struttura del progetto > Progetto in Android Studio o nel file build.gradle.kts di primo livello. La versione del plug-in si applica a tutti i moduli compilati nel progetto Android Studio. L'esempio seguente imposta il plug-in sulla versione 8.9.0 dal file build.gradle.kts:

plugins {
    id("com.android.application") version "8.9.0" apply false
    id("com.android.library") version "8.9.0" apply false
    id("org.jetbrains.kotlin.android") version "2.1.10" apply false
}
plugins {
    id 'com.android.application' version '8.9.0' apply false
    id 'com.android.library' version '8.9.0' apply false
    id 'org.jetbrains.kotlin.android' version '2.1.10' apply false
}

Attenzione: non devi utilizzare dipendenze dinamiche nei numeri di versione, ad esempio 'com.android.tools.build:gradle:8.9.+'. L'utilizzo di questa funzionalità può causare aggiornamenti imprevisti delle versioni e difficoltà nel risolvere le differenze tra le versioni.

Se la versione del plug-in specificata non è stata scaricata, Gradle la scarica la volta successiva che compili il progetto o fai clic su File > Sincronizza progetto con i file Gradle dalla barra dei menu di Android Studio.

Aggiorna Gradle

Quando aggiorni Android Studio, potresti ricevere una richiesta di aggiornare anche Gradle all'ultima versione disponibile. Puoi scegliere di accettare l'aggiornamento o specificare manualmente una versione in base ai requisiti di compilazione del progetto.

La tabella seguente elenca la versione di Gradle richiesta per ogni versione del plug-in Android per Gradle. Per ottenere prestazioni ottimali, devi utilizzare la versione più recente possibile sia di Gradle sia del plug-in.

Versione del plug-inVersione minima richiesta di Gradle
8.98.11.1
8,88.10.2
8,78.9
8,68,7
8,58,7
8.48,6
8.38.4
8.28.2
8.18.0
8.08.0
7,47,5
Versione del plug-inVersione Gradle richiesta
7,37,4
7.27.3.3
7.17.2
7,07,0
4.2.0 e versioni successive6.7.1
4.1.0 e versioni successive6,5+
4.0.0 e versioni successive6.1.1 e versioni successive
3.6.0 - 3.6.45.6.4 e versioni successive
3.5.0 - 3.5.45.4.1 e versioni successive
3.4.0 - 3.4.35.1.1 e versioni successive
3.3.0 - 3.3.34.10.1 e versioni successive
3.2.0 - 3.2.14.6+
3.1.0 e versioni successive4.4+
3.0.0 e versioni successive4.1+
2.3.0 e versioni successive3.3+
2.1.3 - 2.2.32.14.1 - 3.5
2.0.0 - 2.1.22.10 - 2.13
1.5.02.2.1 - 2.13
1.2.0 - 1.3.12.2.1 - 2.9
1.0.0 - 1.1.32.2.1 - 2.3

Puoi specificare la versione di Gradle nel menu File > Struttura progetto > Progetto in Android Studio oppure aggiornare la versione di Gradle utilizzando la riga di comando. Il metodo preferito è utilizzare lo strumento a riga di comando Gradle Wrapper, che aggiorna gli script gradlew. L'esempio seguente imposta la versione Gradle su 8.9 utilizzando Gradle Wrapper. Tieni presente che devi eseguire questo comando due volte per eseguire l'upgrade sia di Gradle sia di Gradle Wrapper (per ulteriori informazioni, consulta Eseguire l'upgrade di Gradle Wrapper).

gradle wrapper --gradle-version 8.9

Tuttavia, in alcuni casi l'operazione potrebbe non riuscire, ad esempio se hai appena aggiornato AGP e non è più conforme alla versione corrente di Gradle. In questo caso, devi modificare il riferimento alla distribuzione Gradle nel file gradle/wrapper/gradle-wrapper.properties. L'esempio seguente imposta la versione di Gradle su 8.9 nel file gradle-wrapper.properties.

...
distributionUrl = https\://services.gradle.org/distributions/gradle-8.9-bin.zip
...

Compatibilità del plug-in Android per Gradle e Android Studio

Il sistema di compilazione di Android Studio è basato su Gradle e il plug-in Android Gradle (AGP) aggiunge diverse funzionalità specifiche per la creazione di app per Android. La tabella seguente elenca la versione di AGP richiesta per ogni versione di Android Studio.

Versione di Android Studio Versione AGP richiesta
Meerkat | 2024.3.1 3,2-8,9
Rilascio di funzionalità Ladybug | 2024.2.2 3,2-8,8
Ladybug | 2024.2.1 3,2-8,7
Rilascio di funzionalità Koala | 2024.1.2 3,2-8,6
Koala | 2024.1.1 3,2-8,5
Jellyfish | 2023.3.1 3,2-8,4
Iguana | 2023.2.1 3,2-8,3
Riccio | 2023.1.1 3,2-8,2
Giraffe | 2022.3.1 3,2-8,1
Flamingo | 2022.2.1 3,2-8,0
Versione di Android Studio Versione AGP richiesta
Anguilla elettrica | 2022.1.1 3,2-7,4
Dolphin | 2021.3.1 3,2-7,3
Chipmunk | 2021.2.1 3,2-7,2
Bumblebee | 2021.1.1 3,2-7,1
Arctic Fox | 2020.3.1 3.1-7.0

Per informazioni sulle novità del plug-in Android per Gradle, consulta le note di rilascio del plug-in Android per Gradle.

Versioni minime degli strumenti per il livello API Android

Esistono versioni minime di Android Studio e AGP che supportano un livello API specifico. L'utilizzo di versioni precedenti di Android Studio o AGP rispetto a quelle richieste da targetSdk o compileSdk del progetto potrebbe causare problemi imprevisti. Ti consigliamo di utilizzare la versione di anteprima più recente di Android Studio e AGP per lavorare a progetti che hanno come target le versioni di anteprima del sistema operativo Android. Puoi installare versioni di anteprima di Android Studio insieme a una versione stabile.

Le versioni minime di Android Studio e AGP sono le seguenti:

Livello API Versione minima di Android Studio Versione minima di AGP
Anteprima di Baklava Meerkat | 2024.3.1 8.9.0
35 Rilascio di funzionalità Koala | 2024.2.1 8.6.0
34 Riccio | 2023.1.1 8.1.1
33 Flamingo | 2022.2.1 7.2

Modifiche al sistema di versionamento (novembre 2020)

Stiamo aggiornando la numerazione delle versioni del plug-in Android per Gradle (AGP) in modo che corrisponda più da vicino allo strumento di compilazione Gradle sottostante.

Ecco le modifiche principali:

  • Ora AGP utilizzerà il versionamento semantico e le modifiche che comportano interruzioni del servizio saranno destinate alle release principali.

  • Verrà rilasciata una versione principale di AGP all'anno, in linea con la versione principale di Gradle.

  • La versione successiva ad AGP 4.2 sarà la 7.0 e richiederà un upgrade alla versione 7.x di Gradle. Ogni release principale di AGP richiede un upgrade della versione principale nello strumento Gradle sottostante.

  • Le API verranno ritirate con circa un anno di anticipo, con la funzionalità di sostituzione resa disponibile contemporaneamente. Le API ritirate verranno rimosse circa un anno dopo durante il successivo update sostanziale.

Compatibilità

Il livello API massimo supportato dal plug-in Gradle per Android 8.9 è il livello API 35. Ecco altre informazioni sulla compatibilità:

Versione minima Versione predefinita Note
Gradle 8.11.1 8.11.1 Per scoprire di più, consulta la sezione Aggiornare Gradle.
Strumenti di compilazione SDK 35.0.0 35.0.0 Installa o configura gli strumenti di compilazione dell'SDK.
NDK N/D 27.0.12077973 Installa o configura una versione diversa del NDK.
JDK 17 17 Per saperne di più, vedi Impostare la versione JDK.

Problemi risolti

Plug-in Android per Gradle 8.9.0

Problemi risolti
Plug-in Android per Gradle
Fornire un messaggio di errore utile quando l'attività di configurazione di GMD non va a buon fine a causa di spazio su disco insufficiente
Il plug-in com.android.settings non riconosce targetSdk
Errore non utile "compileSdkVersion non è specificato". Aggiungilo a build.gradle"
Manca "Compilazione pulita" nel menu Compilazione
Forse consentire al supporto Kotlin integrato di AGP di aggiungere automaticamente la dipendenza da kotlin stdlib
Aggiorna shouldConfigureKotlinPlatformAttribute per gestire il supporto di Kotlin integrato
Fornisci la sintassi di gradle kotlin nel messaggio di errore per "checkTestedAppObfuscationRelease"
È possibile migliorare l'errore della raccolta fusa quando la dipendenza non è risolta
Le proprietà di sistema da gradle.properties non vengono passate ai worker Gradle R8 in processi separati
Imposta BuiltArtifact.outputFile come tipo di file
Se non viene fornito lo spazio dei nomi nella libreria unita, non viene visualizzato un messaggio di errore adeguato
Le opzioni lint in AGP 7.1.0-alpha08 non consentono l'output standard
Plug-in Android per Gradle: le varianti devono esporre i nomi degli insiemi di origine
La cache di configurazione è fragile all'impostazione della variabile di ambiente TERM
AndroidComponentsExtension.addSourceSetConfigurations non funziona quando le statistiche sono attivate
Script di inizializzazione "C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle" riga: 162
AndroidComponentsExtension.addSourceSetConfigurations non funziona quando le statistiche sono attivate
Dexer (D8)
java.lang.VerifyError: Verifier rejected class: [0x430] copy1 v2<-v264 type=Undefined cat=3
Lint
Lint si arresta in modo anomalo con i controlli gradle di Lint
Lint non riesce con InstantiationException senza messaggio di eccezione nello stack trace di lint
Controllo lint falso positivo: android.permission.SCHEDULE_EXACT_ALARM è concesso solo alle app di sistema
Il controllo StringFormatInvalid deve essere applicato al metodo Compose stringResource
L'annotazione RequiresFeature non funziona per i file Kotlin
kotlin android.os.Handler removeCallbacks Runnable
Errore lint WrongConstant sulla definizione anziché sull'utilizzo della costante con shift
L'errore lint WrongConstant viene visualizzato due volte
Eccezione di runtime al di sotto dell'API 26 con API Java nio non supportata (senza errore lint)
Lint impedisce l'utilizzo di RequiresApi anche nel metodo di assistenza privato nel test
La modalità K2 genera un avviso RestrictedApi quando viene utilizzato .hasRoute(Route::class) in Android Studio
Lint suggerisce di sostituire @RequiresExtension nel test con @SdkSuppress, che non supporta le estensioni SDK
Lint segnala erroneamente un layout nidificato non necessario quando un FrameLayout viene utilizzato con fitSystemWindows per avvolgere un RelativeLayout secondario che richiede spaziatura personalizzata.
La regola di lint CoarseFineLocation non tiene conto di un attributo maxSdkVersion
AppLinkSplitToWebAndCustom è un problema sconosciuto in lint 8.7.3
Arresto anomalo del controllo di lint StringEscapeDetector su "\\ "
Avviso lint errato per l'annotazione "@Parcelize" sulle interfacce sigillate
AS 2024.3.1.4 si blocca a intermittenza durante la modifica dei testi Kotlin.
Integrazione di lint
lintVitalRelease non viene eseguito automaticamente durante la compilazione dell'app bundle
Shrinker (R8)
Gson Proguard non funziona correttamente dopo l'upgrade ad AGP 8.8
java.lang.VerifyError: Verifier rejected class
Leanback si arresta in modo anomalo quando viene minimizzato con R8 incluso in AGP 8.10.0-alpha04