Plug-in Android per Gradle 8.7.0 (ottobre 2024)

Android Gradle Plugin 8.7.0 è una release principale che include una serie di nuove funzionalità e miglioramenti.

Compatibilità

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

Versione minima Versione predefinita Note
"Gradle" 8.9 8.9 "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 27.0.12077973 "Installa o configura una versione diversa del NDK."
JDK 17 17 "Per saperne di più, consulta la sezione sull'impostazione della versione JDK."

Modifica del comportamento di lint

A partire dal plug-in Android per Gradle 8.7.0-alpha08, se è presente un LintError quando esegui lint utilizzando Gradle, l'attività di analisi di lint genera un'eccezione. Questa modifica impedisce che errori rari vengano memorizzati nella cache di compilazione.

Purtroppo, questa modifica interrompe le build per i progetti con istanze LintError genuine nei file di riferimento lint. Il messaggio di errore contiene informazioni su quali controlli lint stanno causando il problema. In alcuni casi, aggiornare la dipendenza della libreria corrispondente potrebbe risolvere il problema. In caso contrario, puoi disattivare il controllo lint problematico finché l'autore della libreria non lo corregge.

Problemi risolti

Plug-in Android per Gradle 8.7.0

Problemi risolti
Plug-in Android per Gradle
L'AGP deve dichiarare di supportare l'API 35 che sta per essere rilasciata
AGP 8.5: vengono eseguite molte più attività "mergeDebugResources", rallentando le build
Imposta ndk 27 come NDK predefinito in AGP.
L'AGP deve dichiarare di supportare l'API 35 che sta per essere rilasciata
L'AGP deve dichiarare di supportare l'API 35 che sta per essere rilasciata
Esecuzione di Android lint non riuscita con NoSuchFileException
BuildType#initWith copia il blocco di post-elaborazione, ma la configurazione di ProGuard non viene applicata
Impossibile eseguire l'unione per i tag foregroundServiceType
Esecuzione di Android lint non riuscita con NoSuchFileException
Lint
Lint dovrebbe verificare la presenza di oggetti non validi utilizzati come ViewGroup
"android:host mancante" per gli URI con host null
Incompatibilità di KtAnalysisSessionProvider con i controlli lint introdotti in 8.7.0-alpha04
"Falso positivo" WrongConstant quando si utilizza PackageManager.ResolveInfoFlags.of con Kotlin

Plug-in Android per Gradle 8.7.1

Problemi risolti
Plug-in Android per Gradle
I documenti agp hanno molti TBD
Lint
AGP 8.6.1: Regressione - Errore di lint WrongConstant quando si utilizza [Int].toLong() all'interno di un @LongDef in Kotlin
Errore lint "È necessario specificare almeno un host" durante l'impostazione dello schema di filtro intent http o https

Plug-in Android per Gradle 8.7.2

Problemi risolti
Lint
AGP 8.7.0 - Falso positivo di Lint per RestrictedApi su NavOptionsBuilder.popUpTo
Shrinker (R8)
[R8 8.6.27] Implementazione del metodo sostituita con "throw null"
I file ProGuard Android predefiniti generano un avviso se utilizzati con la versione corrente di R8
MissingStartupProfileItemsDiagnostic arresta in modo anomalo il client Gradle con un errore di esaurimento della memoria se il messaggio è troppo grande

Plug-in Android per Gradle 8.7.3

Problemi risolti
Lint
Molti avvisi relativi ai metodi dell'API di analisi mancanti durante l'esecuzione di lint
Controllo lint falso positivo: android.permission.SCHEDULE_EXACT_ALARM è concesso solo alle app di sistema