Note di rilascio del plug-in Android per Gradle 8.12

Il repository JCenter è diventato di sola lettura il 31 marzo 2021. Per saperne di più, consulta Aggiornamento del servizio JCenter.

Il sistema di compilazione di Android Studio si basa 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 sincronizzato con Android Studio, il plug-in (e il resto del sistema Gradle) può essere eseguito indipendentemente da Android Studio e può essere 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 un riepilogo generale delle prossime modifiche che causano interruzioni nel plug-in Android Gradle, consulta la roadmap del plug-in Android 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.

Aggiornare il plug-in Android per Gradle

Quando aggiorni Android Studio, potresti ricevere un prompt per 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 build del tuo progetto.

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

Kotlin

plugins {
    id("com.android.application") version "8.12.0" apply false
    id("com.android.library") version "8.12.0" apply false
    id("org.jetbrains.kotlin.android") version "2.1.20" apply false
}

Groovy

plugins {
    id 'com.android.application' version '8.12.0' apply false
    id 'com.android.library' version '8.12.0' apply false
    id 'org.jetbrains.kotlin.android' version '2.1.20' apply false
}

Attenzione:non devi utilizzare dipendenze dinamiche nei numeri di versione, ad esempio 'com.android.tools.build:gradle:8.12.+'. L'utilizzo di questa funzionalità può causare aggiornamenti imprevisti delle versioni e difficoltà nella risoluzione delle 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 file Gradle dalla barra dei menu di Android Studio.

Aggiorna Gradle

Quando aggiorni Android Studio, potresti ricevere un prompt per aggiornare anche Gradle all'ultima versione disponibile. Puoi scegliere di accettare l'aggiornamento o specificare manualmente una versione in base ai requisiti di build 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 l'ultima versione possibile di Gradle e del plug-in.

Versione del plug-inVersione minima richiesta di Gradle
8.128.13
8.118.13
8.108.11.1
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

Versioni precedenti

Versione del plug-inVersione Gradle richiesta
7.47,5
7.37.4
7.27.3.3
7.17.2
7,07,0
4.2.0+6.7.1
4.1.0+6.5+
4.0.0+6.1.1+
3.6.0 - 3.6.45.6.4+
3.5.0 - 3.5.45.4.1+
3.4.0 - 3.4.35.1.1+
3.3.0 - 3.3.34.10.1+
3.2.0 - 3.2.14.6+
3.1.0+4.4+
3.0.0+4.1+
2.3.0+3.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 > Project Structure > Project in Android Studio o aggiornare la versione di Gradle utilizzando la riga di comando. Il modo preferito è utilizzare lo strumento a riga di comando Gradle Wrapper, che aggiorna gli script gradlew. L'esempio seguente imposta la versione di Gradle su 8.13 utilizzando Gradle Wrapper. Tieni presente che devi eseguire questo comando due volte per eseguire l'upgrade sia di Gradle sia del wrapper Gradle stesso (per ulteriori informazioni, vedi Upgrade del wrapper Gradle).

gradle wrapper --gradle-version 8.13

Tuttavia, in alcuni casi l'operazione potrebbe non riuscire, ad esempio se hai appena aggiornato AGP e non è più conforme alla versione attuale 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.13 nel file gradle-wrapper.properties.

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

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

Il sistema di compilazione di Android Studio si basa su Gradle e il plug-in Android per 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
Rilascio di funzionalità Narvalo | 2025.1.2 4,0-8,12
Narwhal | 2025.1.1 3,2-8,11
Rilascio di funzionalità Meerkat | 2024.3.2 3,2-8,10
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
Giraffa | 2022.3.1 3,2-8,1
Flamingo | 2022.2.1 3,2-8,0

Versioni precedenti

Versione di Android Studio Versione AGP richiesta
Electric Eel | 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 l'ultima versione di anteprima di Android Studio e AGP per lavorare su progetti che hanno come target le versioni di anteprima del sistema operativo Android. Puoi installare le 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
36,0 Suricato | 2024.3.1 Patch 1 8.9.1
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 controllo delle versioni (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 più importanti:

  • AGP ora utilizzerà il controllo delle versioni semantico e le modifiche che causano interruzioni saranno destinate alle release principali.

  • Ogni anno verrà rilasciata una versione principale di AGP, in linea con la versione principale di Gradle.

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

  • Le API verranno ritirate con circa un anno di anticipo e la funzionalità sostitutiva verrà resa disponibile contemporaneamente. Le API deprecate verranno rimosse circa un anno dopo durante l'aggiornamento principale successivo.

Compatibilità

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

Versione minima Versione predefinita Note
Gradle 8.13 8.13 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 creazione dell'SDK.
NDK N/D 27.0.12077973 Installa o configura una versione diversa dell'NDK.
JDK 17 17 Per saperne di più, vedi Impostare la versione di JDK.

Problemi risolti

Plug-in Android per Gradle 8.12.0

Problemi risolti
Plug-in Android per Gradle
Come specificare un valore booleano per experimentalProperties
L'attivazione esplicita dei test del dispositivo in un tipo di build non predefinito utilizzando AGP non funziona
Sposta AGP in configurations.register per evitare la realizzazione eager delle configurazioni
Includi i file MANIFEST.MF nidificati in defaultExcludes
Il plug-in Gradle deve unire il manifest di test quando includeAndroidResources == true
I file di origine di src/extraMain/java non vengono aggiunti al compilatore utilizzando "built-in-kotlin"
SourceDirectories.addGeneratedSourceDirectory non è compatibile con più varianti
AGP 8.8.0-alpha09 causa alcuni problemi di generazione dei report JaCoCo
[fused lib - public] adding kmp lib like coil does not work
Impossibile creare test con AGP 8.12.0-alpha05 a causa della dichiarazione del pacchetto nel file manifest unito
AGP 8.12.0-alpha07 non riesce a creare build di release con il plug-in Gradle Firebase Performance applicato
Aggiungi ExtractAnnotations a AGP KMP
BuiltInKotlinJvmAndroidCompilation non funziona con i plug-in del compilatore Kotlin come Anvil e KSP
Il plug-in della libreria unita non riesce durante l'attività `:mergingArtifactAAR_METADATA`
Pelucchi
AbstractAnnotationDetector controlla funzioni/costruttori di overload errati
Lint avvisa quando si utilizza Config.OLDEST_SDK nel test
TypoDetector si arresta regolarmente in modo anomalo con IllegalArgumentException durante la correzione rapida
Bug: possibile falso positivo di Android Studio relativo a "die die" in tedesco
La regola SupportAnnotationUsage deve supportare KT-73255
[Lint] Eccessivi falsi positivi di `MemberExtensionConflict` - La descrizione del problema non è corretta
[lint] Falso positivo di MemberExtensionConflict in caso di conflitto del nome del parametro
[lint] Falso positivo di PropertyEscape su un file di proprietà valido