Plug-in Android per Gradle 8.8.0 (gennaio 2025)

Android Gradle Plugin 8.8.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.8 è 35. Ecco altre informazioni sulla compatibilità:

Versione minima Versione predefinita Note
Gradle 8.10.2 8.10.2 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.8.0

Problemi risolti
Plug-in Android per Gradle
Valuta la possibilità di annotare il tipo di input per JacocoTransform come @Classpath
com.android.build.api.variant.GeneratesApk deve esporre minSdk
Il plug-in com.android.settings non riconosce targetSdk
SourceDirectories.addGeneratedSourceDirectory non è compatibile con più varianti
Implementare un flag per disattivare il controllo della versione minima dell'AGP
AGP ha interazioni confuse con la configurazione delle opzioni del compilatore Kotlin
AGP deve esporre un BuiltArtifactLoader per l'APK del progetto di destinazione nei progetti com.android.test
[AGP] Il provider Lazy SdkComponents.ndkDirectory non riesce a produrre un valore, ma l'API android.ndkDirectory eager funziona
Opzioni di compilazione: aggiungi la nuova opzione "Configurazione esecuzione compilazione" e impostala come predefinita
BuildConfig non può essere risolto nei test di unità quando si utilizza android.enableBuildConfigAsBytecode=true
Gli apk generati dai bundle non considerano il supporto di Privacy Sandbox
Il plug-in com.android.settings non riconosce targetSdk
Dexer (D8)
La libreria Desugar 2.1.0 non funziona con AGP 8.5.2
Lint
Incompatibilità di KtAnalysisSessionProvider con i controlli lint introdotti in 8.7.0-alpha04
"Falso positivo" WrongConstant quando si utilizza PackageManager.ResolveInfoFlags.of con Kotlin
Errore lint "È necessario specificare almeno un host" durante l'impostazione dello schema di filtro intent http o https
Gestire le annotazioni di utilizzo del tipo in più casi per il lint UnknownNullness
AGP 8.6.1: Regressione - Errore di lint WrongConstant quando si utilizza [Int].toLong() all'interno di un @LongDef in Kotlin
AGP 8.7.0 - Lint False Positive RestrictedApi su NavOptionsBuilder.popUpTo
L'errore lint WrongConstant viene visualizzato due volte
L'avviso "MonochromeLauncherIcon: Monochrome icon is not defined" (Icona di avvio monocromatica: l'icona monocromatica non è definita) non viene rilevato da Android Studio
AbstractAnnotationDetector controlla funzioni/costruttori sovraccaricati errati
Lint ImportAliasTestMode non crea alias di importazione per le funzioni di primo livello
L'errore lint WrongConstant viene visualizzato due volte
Nuovi avvisi di lint ObsoleteSdkInt con AGP 8.8
Controllo lint falso positivo: android.permission.SCHEDULE_EXACT_ALARM è concesso solo alle app di sistema
La modalità K2 genera un avviso RestrictedApi quando viene utilizzato .hasRoute(Route::class) in Android Studio
Integrazione di lint
L'attività di linting delle varianti non viene trovata dopo la valutazione
Il linting non riesce durante l'importazione del file AAR con i file di implementazione

Plug-in Android per Gradle 8.8.1

Problemi risolti
Dexer (D8)
Aggiungere OpenJDK 23 per i test
Shrinker (R8)
java.lang.AbstractMethodError: la classe del destinatario [...]$$Lambda$[...] non definisce o eredita un'implementazione del metodo risolto [...] dell'interfaccia [...]
NPE in Enqueuer correlato alla registrazione di DexCallSite
R8 8.7.18 causa un'eccezione di puntatore nullo di runtime quando viene chiamato job?.cancel
java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/LazyThreadSafetyMode
Sembra che Monzo stia utilizzando una quantità eccessiva di tempo per l'analisi ad albero
AGP 8.8 fail release build : R8: java.lang.NullPointerException: Cannot read field "b" because the return value of "com.android.tools.r8.internal.BS.a(com.android.tools.r8.internal.cR)" is null`

Plug-in Android per Gradle 8.8.2

Problemi risolti
Plug-in Android per Gradle
Script di inizializzazione "C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle" riga: 162
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