Plug-in Android Gradle 8.2.0 (novembre 2023)
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Il plug-in Android per Gradle 8.2.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.2 è il livello API 34.
Ecco altre informazioni sulla compatibilità:
Nuova macro per specificare il percorso JDK
#GRADLE_LOCAL_JAVA_HOME
è una nuova macro che puoi utilizzare per specificare il percorso JDK. In questo modo, è più sicuro e semplice specificare il percorso della home di Java utilizzato per l'esecuzione del daemon Gradle (processo in background) per il tuo progetto. La selezione del percorso
è memorizzata nel campo java.home
del file .gradle/config.properties
. Imposta questo campo tramite le impostazioni JDK di Gradle in Android Studio: File (o
Android Studio su macOS) > Impostazioni > Build, esecuzione, deployment > Build
Tools > Gradle.
I nuovi progetti utilizzeranno #GRADLE_LOCAL_JAVA_HOME
per impostazione predefinita. I progetti esistenti
verranno migrati automaticamente alla nuova macro dopo una sincronizzazione riuscita, a meno che
non utilizzi già una macro come #JAVA_HOME
.
I principali vantaggi della nuova macro sono i seguenti:
- Puoi modificare manualmente il percorso JDK per attivare la sincronizzazione senza aprire prima il progetto.
- Meno errori relativi a versioni incompatibili di Gradle e JDK del progetto, poiché esiste un'unica fonte attendibile per la selezione di Gradle JDK.
Problemi risolti
Plug-in Android per Gradle 8.2.0
Problemi risolti |
Plug-in Android per Gradle |
I tipi di origini personalizzate devono creare set di origini multiformato
|
Il controllo della versione dell'SDK non gestisce gli utenti delle estensioni dell'SDK
|
DependenciesInfoBuilder richiede l'aggiornamento dell'API e della documentazione
|
DexingNoClasspathTransform (minSdk >= 24) con Java 11 come target non riesce a causa della mancanza di membri nidificati
|
DslExtension.Builder.extendProjectWith() non funziona come descritto in Groovy
|
Aggiungi l'API VariantSelector.withFlavor che non utilizza kotlin.Pair
|
AndroidLintAnalysisTask ( :lintAnalyzeExternalRelease) ha mancato la cache perché `proguard.txt` è cambiato
|
Il manifest unito dell'app contiene gli attributi extractNativeLibs e useEmbeddedDex delle dipendenze
|
AIDL non riesce con build-tools 33.0.0
|
AGP: Expose path to AIDL tool and framework AIDL file as public API
|
Richiesta: consenti all'IDE di offrire una correzione per "PermittedSubclasses richiede ASM9"
|
Target bytecode 17 durante la compilazione di AGP
|
Rimuovi VariantManager.getModifiedName
|
AndroidTest.packaging.jniLibs.keepDebugSymbols non influisce sul packaging di androidTest
|
Le attività di test di strumentazione GMD si bloccano e, al nuovo tentativo, iniziano a non riuscire
|
generateLocaleConfig in AGP 8.1.0 utilizza un ordinamento non deterministico, interrompendo le build riproducibili
|
ProcessApplicationManifest.navigationJsons contiene file con percorsi assoluti
|
L'accesso a GradleBuildProject.Builder tramite AnalyticsConfiguratorService non è consentito dopo la creazione di AnalyticsService
|
AndroidTest.packaging.jniLibs.keepDebugSymbols non influisce sul packaging di androidTest
|
Compilazione consentita per valori di colore non validi
|
"ReplaceWith" errato per VariantBuilder
|
Gradle 8.1 interrompe la memorizzazione nella cache della configurazione a causa di .gradle/.android/analytics.settings
|
I messaggi di deprecazione non utilizzano `ReplaceWith`
|
Esporre un modo per ottenere la versione NDK predefinita
|
Per funzionare, il plug-in Android per Gradle richiede Java 17.
|
Incompatibilità tra la trasformazione ASM e toAppend()
|
Correggi LintErrors durante l'esecuzione di lint con K2 UAST tramite Gradle in un progetto KMP
|
Supporto di missingDimensionStrategy a livello di variante e, possibilmente, di build type/flavor matchingFallback
|
`android.injected.studio.version` è stato rimosso in Android Studio Giraffe
|
Aggiunta della possibilità di disattivare AndroidXDependencyCheck
|
generateLocaleConfig in AGP 8.1.0 utilizza un ordinamento non deterministico, interrompendo le build riproducibili
|
Pubblicare i requisiti di versione di R8 / D8 nei metadati AAR (ad es. per coreLibraryDesugaring e la nuova API out-of-lining)
|
Avviso di sincronizzazione: "GradleBuildProject.Builder should not be accessed through AnalyticsConfiguratorService after AnalyticsService is created"
|
Esegui l'aggiornamento a Gradle 8.2 milestone o RC
|
Impossibile accedere a "java.lang.Comparable"
|
androidResources non è disponibile nel modulo della libreria Android
|
L'esecuzione dell'attività ":app:mergeReleaseClasses" non è riuscita dopo l'aggiornamento di AGP dalla versione 8.0.2 alla 8.1.0
|
Gradle 8.1 interrompe la memorizzazione nella cache della configurazione a causa di .gradle/.android/analytics.settings
|
[AGP 8.1.0] ./gradlew test non riesce con "Unable to find manifest output" se sia splits.abi.isEnable che testOptions.unitTests.isIncludeAndroidResources sono impostati su true
|
Android Studio Giraffe non rispetta versionCodeOverride con AGP 8.1
|
AGP 8.1.0 disinstalla l'app dopo l'esecuzione di test strumentati, mentre la versione 7.4.2 non lo fa
|
La trasformazione di un APK genera un errore con ListingFileRedirectTask
|
REGRESSIONE HEDGEHOG: il pulsante Esegui è ritardato di alcuni secondi (creazione della specifica)
|
|
Dexer (D8) |
Abilita le classi native record e sealed durante la dexing per min-api 34 e versioni successive
|
|
Pelucchi |
Il controllo lint di cui è stata creata un'istanza non gestisce correttamente AppComponentFactory
|
Le versioni alpha di Lint 8.2.0 non supportano ancora le importazioni di funzioni di primo livello in Kotlin
|
Aggiungere un'opzione per non includere i numeri di riga e colonna nella baseline di lint
|
Aggiungere un'opzione per non includere i numeri di riga e colonna nella baseline di lint
|
I test Lint non supportano le funzionalità del linguaggio Java 17
|
Bumblebee 2021.1.1 Patch 1 indica che una vecchia versione (20030203.000550) di commons-io è più recente della 2.11.0.
|
Le versioni alpha di Lint 8.2.0 non supportano ancora le importazioni di funzioni di primo livello in Kotlin
|
Bumblebee 2021.1.1 Patch 1 indica che una vecchia versione (20030203.000550) di commons-io è più recente della 2.11.0.
|
Android Studio contrassegna erroneamente la versione specificata come obsoleta.
|
Lint ignora il problema UseValueOf quando si utilizza K2 UAST
|
Problemi imprevisti di un altro progetto segnalati da Android Lint
|
Android Lint non riesce a elaborare una libreria KMP con il messaggio `property 'variantInputs.name' doesn't have a configured value.`
|
|
Integrazione di Lint |
Errore lint DuplicatePlatformClasses dalla dipendenza testImplementation
|
|
Shrinker (R8) |
java.lang.VerifyError: Verifier rejected class
|
La build si blocca su :minifyReleaseWithR8 quando si utilizza la libreria Apache POI
|
Kotlin 1.9 causa la distruzione delle espressioni lambda Kotlin da parte di R8 se i controlli di nullità vengono rimossi
|
|
Plug-in Android per Gradle 8.2.1
Problemi risolti |
Plug-in Android per Gradle |
Non eseguire l'attività di dexing sulle classi dei progetti secondari quando sono già state sottoposte a dexing tramite le trasformazioni degli artefatti
|
Il plug-in Android per Gradle non è riuscito con JavaVersion.VERSION_11 e OpenJDK 21 ea
|
|
Dexer (D8) |
Desugarizzazione dei record per Android U
|
|
Shrinker (R8) |
R8 genera dex danneggiato che causa un'eccezione di cast di classe in fase di runtime
|
R8 che causa il passaggio dell'interfaccia a un'interfaccia inaccessibile
|
Arresto anomalo dell'SDK Flurry R8 con AGP 8.2.0
|
Android - R8 causes subclass of LinearLayoutManager to crash
|
ClassCastException in R8 quando il repackaging è attivo e la riduzione, l'offuscamento e l'ottimizzazione sono disattivati
|
R8 bloccato in BridgeAnalyzer.analyzeMethod
|
R8 v8.2.33, arresto anomalo di runtime "java.lang.VerifyError: Bad type on operand stack" dopo l'upgrade
|
|
Plug-in Android per Gradle 8.2.2
Problemi risolti |
Plug-in Android per Gradle |
Impossibile impostare la versione di JaCoCo in AGP 8.2.0
|
|
Dexer (D8) |
[libreria desugarizzata] La versione 2.1 della libreria desugarizzata non è compatibile con le versioni precedenti di R8
|
Ottimizzazioni eseguite anche solo con D8?
|
|
Shrinker (R8) |
[R8 8.3.21] R8 8.3.21 è 1,57 MB più grande di R8 8.1.56
|
class.getInterfaces() restituisce un valore vuoto
|
|
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-09-13 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-13 UTC."],[],[],null,[]]