Plug-in Android per Gradle 8.8.0 (gennaio 2025)

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

Compatibilità

Il livello API massimo supportato dal plug-in Android Gradle 8.8 è il livello API 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 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.8.0

Problemi risolti
Plug-in Android per Gradle
Prendi in considerazione l'annotazione del 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
Implementa il flag per disattivare il controllo della versione minima di 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 produce un valore, ma l'API eager android.ndkDirectory funziona
Opzioni di build: aggiungi una nuova opzione "Configurazione esecuzione build" e impostala come predefinita
BuildConfig non può essere risolto nei test unitari quando si utilizza android.enableBuildConfigAsBytecode=true
Gli APK generati dai bundle non prendono in considerazione 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
Pelucchi
Incompatibilità di KtAnalysisSessionProvider con i controlli lint introdotti nella versione 8.7.0-alpha04
"False positive" WrongConstant quando si utilizza PackageManager.ResolveInfoFlags.of con Kotlin
Errore di lint "At least one host must be specified" (È necessario specificare almeno un host) durante l'impostazione dello schema di intent-filter http o https
Gestisci le annotazioni di tipo di utilizzo in più casi per UnknownNullness lint
AGP 8.6.1: regressione - Errore di lint WrongConstant quando si utilizza [Int].toLong() all'interno di @LongDef in Kotlin
AGP 8.7.0 - Lint False Positive RestrictedApi su NavOptionsBuilder.popUpTo
Linter WrongConstant visualizzato due volte
L'avviso "MonochromeLauncherIcon: Monochrome icon is not defined" (MonochromeLauncherIcon: Monochrome icon is not defined) non viene rilevato da Android Studio
AbstractAnnotationDetector controlla funzioni/costruttori di overload errati
Lint ImportAliasTestMode non crea alias di importazione per le funzioni di primo livello
Linter WrongConstant visualizzato due volte
Nuovi avvisi lint ObsoleteSdkInt con AGP 8.8
Controllo lint di falsi positivi android.permission.SCHEDULE_EXACT_ALARM concesso solo alle app di sistema
La modalità K2 genera l'avviso RestrictedApi quando si utilizza .hasRoute(Route::class) in Android Studio
Integrazione di Lint
L'attività relativa alla variante di lint 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: Receiver class [...]$$Lambda$[...] does not define or inherit an implementation of the resolved method [...] of interface [...]
NPE in Enqueuer correlato al record 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
Monzo sembra utilizzare una quantità eccessiva di tempo per l'eliminazione del codice inutilizzato
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 ridotto con R8 incluso in AGP 8.10.0-alpha04