Plug-in Android per Gradle 8.6.0 (agosto 2024)

Il plug-in Android Gradle 8.6.0 è una versione principale che include una serie di nuove funzionalità e miglioramenti.

Compatibilità

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

Versione minima Versione predefinita Note
Gradle 8,7 8,7 Per scoprire di più, consulta la sezione Aggiornare Gradle.
Strumenti di compilazione SDK 34,0,0 34.0.0 Installa o configura gli strumenti di compilazione dell'SDK.
NDK N/D 26.1.10909125 Installa o configura una versione diversa del NDK.
JDK 17 17 Per scoprire di più, consulta la sezione sull'impostazione della versione JDK.

Problemi risolti

Plug-in Android per Gradle 8.6.0

Problemi risolti
Plug-in Android per Gradle
Regressione di AGP 7.0.0-alpha10: impossibile applicare il plug-in "com.android.internal.library" quando il databinding è abilitato
Errori durante l'esecuzione di lint con e senza K2 UAST
Manifest non generato per la configurazione androidTest della variante
AGP 8.4 tenta di configurare i profili di avvio nelle build di debug
[Koala 2024.1.2 Canary 2] Errore durante l'esecuzione di un modulo del profilo di riferimento su un APK diviso
Ripulire / rimuovere ProjectInfo
Aggiorna il file kdoc obsoleto per "isIncludeAndroidResources" in AGP DSL
Lint utilizza la directory res senza aggiungere una dipendenza da attività
AGP 8.5: vengono eseguite molte più attività "mergeDebugResources", rallentando le build
L'aggiunta della directory src tramite l'API Variant non funziona come previsto
Dexer (D8)
Aggiorna il database API ad Android 15 (livello API 35)
java.lang.VerifyError: il verificatore ha rifiutato la classe com.pax.log.LogUtils: non è stato possibile verificare java.lang.StackTraceElement com.pax.log.LogUtils.getCaller(com.pax.log.b, java.lang.StackTraceElement[], int)
Lint
Lint non chiama visitAnnotationUsage per gli utilizzi delle annotazioni annotate
Errore di lint UnknownNullness durante l'utilizzo di annotazioni di utilizzo del tipo
[library desugar] lint mostra avvisi NewApi di falsi positivi con la desugarizzazione abilitata
Avviso Lint di Gestore delle credenziali errato su Wear
Lint: SetTextI18n segnala un errore relativo all'assegnazione di una stringa vuota.
Integrazione lint
Le attività di lint non riescono con la compilazione inclusa
Shrinker (R8)
[r8 8.5]L'unione orizzontale delle classi r8 causa un errore di verifica su Android5 quando viene disattivata la modellazione dell'API
Una release Wear OS creata con il plug-in Gradle 8.4.0/8.5.0 potrebbe causare java.lang.LegalAccessError
R8 sostituisce implicitamente una clausola membro vuota con una corrispondenza di ()
[r8 8.5] L'unione di classi verticali causa un NPE di runtime
Errore di elaborazione R8 probabilmente dovuto all'operatore del cambio a destra
R8 (AGP 8.5.0 e versioni successive) non va a buon fine con l'errore "Riscrivitura imprevista dell'elemento: ... in due elementi distinti:..."
Il file dex generato da R8 mostra "Impossibile trovare main statico(String[]) in "Test"" quando viene eseguito
Comportamento diverso tra i programmi pacchettizzati da R8 e D8
R8 NullPointer dopo l'aggiornamento a Kotlin 2.0

Plug-in Android per Gradle 8.6.1

Problemi risolti
Dexer (D8)
L'attività/la trasformazione di dexing genera contenuti non deterministici di classes.dex
Shrinker (R8)
R8 8.5.x StackOverflowError in SimpleInliningConstraintAnalysis
Attività :xxxx:minifyXXXReleaseWithR8 ERRORE: R8: java.util.ConcurrentModificationException
java.lang.NullPointerException: Cannot invoke "com.android.tools.r8.ir.analysis.type.TypeElement.asClassType()"