Plug-in Android per Gradle 8.7.0 (ottobre 2024)

Il plug-in Android per Gradle 8.7.0 è una release principale che include una serie di nuove funzionalità e miglioramenti.

Compatibilità

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

Versione minima Versione predefinita Note
"Gradle" 8.9 8.9 "Per saperne di più, vedi Aggiornare Gradle."
Strumenti di build dell'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 dell'NDK."
JDK 17 17 "Per saperne di più, vedi Impostare la versione JDK."

Modifica del comportamento di Lint

A partire dal plug-in Android per Gradle 8.7.0-alpha08, se si verifica un LintError durante l'esecuzione di Lint utilizzando Gradle, l'attività di analisi di Lint genera un'eccezione. Questa modifica impedisce che errori rari vengano memorizzati nella cache di build.

Purtroppo, questa modifica interrompe le build per i progetti con istanze LintError autentiche nei file di base di Lint. Il messaggio di errore contiene informazioni sui controlli di Lint che causano il problema. In alcuni casi, l'aggiornamento della dipendenza della libreria corrispondente potrebbe risolvere il problema. In caso contrario, puoi disattivare il controllo di Lint problematico finché l'autore della libreria non lo corregge.

Problemi risolti

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
Falso positivo del controllo di Lint: android.permission.SCHEDULE_EXACT_ALARM è concesso solo alle app di sistema

Plug-in Android per Gradle 8.7.2

Problemi risolti
Lint
AGP 8.7.0 - Falso positivo di Lint 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 quando vengono utilizzati con la versione attuale di R8
MissingStartupProfileItemsDiagnostic arresta il client Gradle con un errore di memoria insufficiente se il messaggio è troppo grande

Plug-in Android per Gradle 8.7.1

Problemi risolti
Plug-in Android per Gradle
La documentazione di AGP contiene molti elementi da definire
Lint
AGP 8.6.1: regressione - errore WrongConstant di Lint quando si utilizza [Int].toLong() all'interno di un @LongDef in Kotlin
Errore di Lint "È necessario specificare almeno un host" quando si imposta lo schema http o https del filtro di intent

Plug-in Android per Gradle 8.7.0

Problemi risolti
Plug-in Android per Gradle
AGP dovrebbe dichiarare di supportare l'API 35, che verrà rilasciata a breve
AGP 8.5: vengono eseguite molte più attività "mergeDebugResources", il che rallenta le build
Imposta NDK 27 come NDK predefinito in AGP.
AGP dovrebbe dichiarare di supportare l'API 35, che verrà rilasciata a breve
AGP dovrebbe dichiarare di supportare l'API 35, che verrà rilasciata a breve
L'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 unire i tag foregroundServiceType
L'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 di Lint introdotti in 8.7.0-alpha04
"Falso positivo" WrongConstant quando si utilizza PackageManager.ResolveInfoFlags.of con Kotlin