Questa pagina contiene le note di rilascio per le versioni di anteprima del plug-in Android Gradle (AGP).
Plug-in Android per Gradle 9.0
Il plug-in Android per Gradle 9.0 è una nuova versione principale di AGP e introduce modifiche al comportamento e alle API.
Per eseguire l'aggiornamento al plug-in Android per Gradle 9.0.0-beta04, utilizza l'assistente per l'upgrade del plug-in Android per Gradle in Android Studio Otter 3 Feature Drop | 2025.2.3.
L'assistente per l'upgrade di AGP consente di preservare i comportamenti esistenti durante l'upgrade del progetto, se appropriato, consentendoti di eseguire l'upgrade del progetto per utilizzare AGP 9.0, anche se non sei pronto ad adottare tutti i nuovi valori predefiniti di AGP 9.0.
Compatibilità
Il livello API Android massimo supportato dal plug-in Android per Gradle 9.0.0-beta04 è il livello API 36.
Il plug-in Android per Gradle 9.0.0-beta04 richiede Gradle 9.0.0.
| Versione minima | Versione predefinita | Note | |
|---|---|---|---|
| Gradle | 9.1.0 | 9.1.0 | Per saperne di più, consulta la sezione Aggiornare Gradle. |
| Strumenti di compilazione dell'SDK | 36.0.0 | 36.0.0 | Installa o configura gli strumenti di compilazione dell'SDK. |
| NDK | N/D | 28.2.13676358 | Installa o configura una versione diversa dell'NDK. |
| JDK | 17 | 17 | Per saperne di più, vedi Impostare la versione di JDK. |
Le classi android DSL ora implementano solo le nuove interfacce pubbliche
Negli ultimi anni abbiamo introdotto
nuove interfacce per il nostro DSL e la nostra API per
controllare meglio quali API sono pubbliche. Le versioni di AGP 7.x e 8.x utilizzavano ancora i vecchi tipi di DSL (ad esempio BaseExtension), che implementavano anche le nuove interfacce pubbliche, per mantenere la compatibilità man mano che il lavoro sulle interfacce avanzava.
AGP 9.0 utilizza esclusivamente le nostre nuove interfacce DSL e le implementazioni sono state modificate in nuovi tipi completamente nascosti. Inoltre, viene rimosso l'accesso alla vecchia API Variant deprecata.
Per eseguire l'aggiornamento ad AGP 9.0, potresti dover:
- Assicurati che il tuo progetto sia compatibile con Kotlin
integrato: il plug-in
org.jetbrains.kotlin.androidnon è compatibile con il nuovo DSL. Passa ai progetti KMP con il plug-in Android Gradle Library per KMP: l'utilizzo del plug-in
org.jetbrains.kotlin.multiplatformnello stesso progetto secondario Gradle dei plug-incom.android.libraryecom.android.applicationnon è compatibile con il nuovo DSL.Aggiorna i file di build: Sebbene la modifica delle interfacce sia pensata per mantenere la DSL il più simile possibile, potrebbero esserci alcune piccole modifiche.
Aggiorna la logica di build personalizzata in modo che faccia riferimento alla nuova DSL e alla nuova API: Sostituisci tutti i riferimenti alla DSL interna con le interfacce DSL pubbliche. Nella maggior parte dei casi, si tratta di una sostituzione uno a uno. Sostituisci qualsiasi utilizzo di
applicationVariantse API simili con la nuova APIandroidComponents. Questa operazione potrebbe essere più complessa, in quanto l'APIandroidComponentsè progettata per essere più stabile e mantenere la compatibilità dei plug-in più a lungo. Consulta le nostre ricette Gradle per alcuni esempi.Aggiorna i plug-in di terze parti: alcuni plug-in di terze parti potrebbero ancora dipendere da interfacce o API non più esposte. Esegui la migrazione alle versioni di questi plug-in compatibili con AGP 9.0.
Il passaggio alle nuove interfacce DSL impedisce ai plug-in e agli script di build Gradle di utilizzare varie API ritirate, tra cui:
API obsoleta nel blocco android |
Funzione | Sostituzione |
|---|---|---|
applicationVariants,libraryVariants,testVariants eunitTestVariants
|
Punti di estensione per i plug-in per aggiungere nuove funzionalità ad AGP. |
Sostituisci questo valore con l'API
androidComponents.onVariants, ad esempio:
androidComponents { onVariants() { variant -> variant.signingConfig .enableV1Signing.set(false) } } |
variantFilter
|
Consente di disattivare le varianti selezionate. |
Sostituisci questo valore con l'API
androidComponents.beforeVariants, ad esempio:
androidComponents { beforeVariants( selector() .withBuildType("debug") .withFlavor("color", "blue") ) { variantBuilder -> variantBuilder.enable = false } } |
deviceProvider etestServer
|
Registrazione di ambienti di test personalizzati per l'esecuzione di test su dispositivi ed emulatori Android. | Passa a Dispositivi gestiti da Gradle. |
sdkDirectory,ndkDirectory,bootClasspath,adbExecutable eadbExe
|
Utilizzo di vari componenti dell'SDK Android per attività personalizzate. |
Passa a
androidComponents.sdkComponents.
|
registerArtifactType,registerBuildTypeSourceProvider,registerProductFlavorSourceProvider,registerJavaArtifact,registerMultiFlavorSourceProvider ewrapJavaSourceSet |
Funzionalità obsolete per lo più correlate alla gestione delle origini generate in Android Studio, che hanno smesso di funzionare in AGP 7.2.0. | Non esiste un sostituto diretto per queste API. |
dexOptions
|
Impostazioni obsolete relative allo strumento dx, che è stato
sostituito da d8. Nessuna delle impostazioni
ha avuto effetto a partire dal plug-in Android per Gradle 7.0.
|
Non esiste una sostituzione diretta. |
generatePureSplits
|
Genera suddivisioni della configurazione per le app istantanee. | La possibilità di spedire suddivisioni della configurazione è ora integrata negli app bundle Android. |
aidlPackagedList
|
File AIDL da includere nel pacchetto AAR per esporlo come API per librerie e app che dipendono da questa libreria. |
È ancora esposto su
LibraryExtension
ma non sugli altri tipi di estensioni.
|
Se esegui l'aggiornamento ad AGP 9.0 e visualizzi il seguente messaggio di errore, significa che il tuo progetto fa ancora riferimento ad alcuni dei tipi precedenti:
java.lang.ClassCastException: class com.android.build.gradle.internal.dsl.ApplicationExtensionImpl$AgpDecorated_Decorated
cannot be cast to class com.android.build.gradle.BaseExtension
Se i plug-in di terze parti incompatibili ti bloccano, puoi disattivare
le vecchie implementazioni per il DSL, nonché la vecchia API Variant.
Durante questa operazione, sono disponibili anche le nuove interfacce e puoi comunque aggiornare la tua logica di build alla nuova API. Per effettuare la disattivazione, includi questa riga nel file gradle.properties:
android.newDsl=false
Puoi anche iniziare l'upgrade alle nuove API prima di eseguire l'upgrade ad AGP 9.0. Le nuove interfacce sono presenti in molte versioni di AGP, quindi puoi avere un mix di nuove e vecchie. La documentazione di riferimento dell'API AGP mostra la superficie dell'API per ogni versione di AGP e quando sono stati aggiunti ogni classe, metodo e campo.
Durante la fase alpha 9.0, contatteremo gli autori di plug-in per aiutarli ad adattare e rilasciare plug-in completamente compatibili con le nuove modalità e miglioreremo l'assistente per l'aggiornamento di AGP in Android Studio per guidarti nella migrazione.
Se riscontri che le nuove API DSL o Variant non dispongono di funzionalità o caratteristiche, segnala un problema il prima possibile.
Kotlin integrato
Il plug-in Android per Gradle 9.0 introduce il supporto integrato di Kotlin e lo attiva
per impostazione predefinita. Ciò significa che non devi più applicare il plug-in
org.jetbrains.kotlin.android (o kotlin-android) nei file di build
per compilare i file sorgente Kotlin.
In questo modo, l'integrazione di Kotlin con AGP viene semplificata, si evita l'utilizzo di API ritirate e, in alcuni casi, le prestazioni migliorano.
Pertanto, quando esegui l'upgrade del progetto ad AGP 9.0, devi anche eseguire la migrazione a Kotlin integrato o disattivarlo.
Puoi anche disattivare selettivamente il supporto Kotlin integrato per i progetti secondari Gradle che non hanno origini Kotlin.
Dipendenza di runtime dal plug-in Kotlin per Gradle
Per fornire il supporto Kotlin integrato, il plug-in Android per Gradle 9.0 ora ha una dipendenza di runtime dal plug-in Kotlin per Gradle (KGP) 2.2.10. Ciò significa che non devi più dichiarare una versione di KGP e, se utilizzi una versione di KGP inferiore alla 2.2.10, Gradle eseguirà automaticamente l'upgrade alla versione 2.2.10. Allo stesso modo, se utilizzi una versione di KSP precedente alla 2.2.10-2.0.2, AGP la aggiornerà alla versione 2.2.10-2.0.2 in modo che corrisponda alla versione di KGP.
Esegui l'upgrade a una versione di KGP più recente
Per utilizzare una versione più recente di KGP o KSP, aggiungi quanto segue al file di build di primo livello:
buildscript {
dependencies {
// For KGP
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:KGP_VERSION")
// For KSP
classpath("com.google.devtoolsksp:symbol-processing-gradle-plugin:KSP_VERSION")
}
}
Eseguire il downgrade a una versione precedente di KGP
Puoi eseguire il downgrade della versione di KGP solo se hai disattivato Kotlin integrato. Questo perché AGP 9.0 attiva Kotlin integrato per impostazione predefinita e Kotlin integrato richiede KGP 2.2.10 o versioni successive.
Per utilizzare una versione precedente di KGP o KSP, dichiara la versione nel file di build di primo livello utilizzando una dichiarazione di versione esatta:
buildscript {
dependencies {
// For KGP
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") {
version { strictly("KGP_VERSION") }
}
// For KSP
classpath("com.google.devtoolsksp:symbol-processing-gradle-plugin") {
version { strictly("KSP_VERSION") }
}
}
}
Tieni presente che la versione minima di KGP a cui puoi eseguire il downgrade è la 2.0.0.
Supporto IDE per gli ambienti di test
AGP 9.0 offre il supporto completo dell'IDE Android Studio per gli ambienti di test.
Plug-in della libreria Fused
Il plug-in Fused Library (anteprima) ti consente di pubblicare più librerie come un unico AAR della libreria Android. In questo modo, gli utenti possono fare più facilmente affidamento sugli artefatti pubblicati.
Per informazioni su come iniziare, vedi Pubblicare più librerie Android come una sola con la libreria unita.
Modifiche al comportamento
Il plug-in Android per Gradle 9.0 ha i seguenti nuovi comportamenti:
| Comportamento | Consiglio |
|---|---|
Il plug-in Android per Gradle 9.0 utilizza la versione r28c dell'NDK per impostazione predefinita.
|
Valuta la possibilità di specificare in modo esplicito la versione dell'NDK che vuoi utilizzare. |
| Il plug-in Android per Gradle 9.0 richiede per impostazione predefinita che i consumatori di una libreria utilizzino la stessa versione dell'SDK di compilazione o una versione successiva. |
Utilizza lo stesso SDK di compilazione o una versione successiva quando utilizzi una libreria.
Se non è possibile o se vuoi dare più tempo ai consumatori di una libreria che
pubblichi per passare a un'altra, imposta
AarMetadata.minCompileSdk
in modo esplicito.
|
AGP 9.0 include aggiornamenti ai valori predefiniti delle seguenti proprietà Gradle. In questo modo, durante l'upgrade puoi scegliere di mantenere il comportamento di AGP 8.13:
| Proprietà | Funzione | Passaggio da AGP 8.13 ad AGP 9.0 | Consiglio |
|---|---|---|---|
android. |
Utilizza le nuove interfacce DSL senza esporre le implementazioni legacy
del blocco android.Ciò significa anche che l'API legacy per le varianti, ad esempio android.applicationVariants
non è più accessibile.
|
false → true |
Puoi disattivare questa opzione impostando
android.newDsl=false.Una volta che tutti i plug-in e la logica di build utilizzati dal tuo progetto sono compatibili, rimuovi la disattivazione. |
android. |
Attiva Kotlin integrato | false → true |
Esegui la migrazione a Kotlin integrato se puoi o disattivalo. |
android. |
Impone che ogni libreria abbia un nome di pacchetto distinto. | false → true |
Specifica nomi di pacchetti univoci per tutte le librerie all'interno del progetto. Se non è possibile, puoi disattivare questo flag durante la migrazione. |
android. |
Utilizza le dipendenze androidx
per impostazione predefinita.
|
false → true |
Adotta le dipendenze di androidx.
|
android. |
Esegui test sul dispositivo con la classe
androidx.test.runner.AndroidJUnitRunner per impostazione predefinita, sostituendo il valore predefinito della classe
InstrumentationTestRunner
deprecata per
android {
defaultConfig {
testInstrumentationRunner = "..."
}
} |
false → true |
Adotta
AndroidJUnitRunner,
o specifica esplicitamente il tuo testInstrumentationRunner personalizzato.
|
android. |
Controlla l'utilizzo dei vincoli di dipendenza tra le configurazioni. Il valore predefinito in AGP 9.0 è false, che utilizza solo i vincoli nei test dei dispositivi dell'applicazione (AndroidTest).
Se imposti questo valore su true, verrà ripristinato il comportamento della versione 8.13.
|
true → false |
Non utilizzare vincoli di dipendenza ovunque, a meno che non siano necessari. L'accettazione del nuovo valore predefinito di questo flag consente anche le ottimizzazioni nel processo di importazione del progetto, il che dovrebbe ridurre il tempo di importazione per le build con molti sottoprogetti di librerie Android. |
android. |
Compila il codice nelle applicazioni in base a una classe R non finale, allineando
la compilazione delle applicazioni a quella delle librerie. Ciò migliora l'incrementalità e apre la strada a future ottimizzazioni delle prestazioni del flusso di elaborazione delle risorse. |
false → true |
Molti progetti possono adottare il nuovo comportamento senza modifiche al codice sorgente. Se i campi della classe R vengono utilizzati in un punto che richiede una costante, ad esempio i casi switch, esegui il refactoring per utilizzare istruzioni if concatenate. |
android. |
Utilizza la versione dell'SDK di compilazione come valore predefinito per la versione dell'SDK target
in app e test. Prima di questa modifica, la versione dell'SDK target veniva impostata per impostazione predefinita sulla versione minima dell'SDK. |
false → true |
Specifica esplicitamente la versione dell'SDK target per app e test. |
android. |
Crea solo componenti di test delle unità per il tipo di build testato. Nel progetto predefinito, questo comporta un singolo test unitario per il debug, mentre il comportamento precedente prevedeva l'esecuzione di test unitari per il debug o il rilascio. |
false → true |
Se il tuo progetto non richiede l'esecuzione di test sia per il debug che per il rilascio, non è necessaria alcuna modifica. |
android. |
La build non riesce e viene visualizzato un errore se uno dei file di conservazione specificati nel DSL AGP non esiste sul disco. Prima di questa modifica, gli errori di battitura nei nomi dei file comportavano l'ignoramento silenzioso dei file. | false → true |
Rimuovi eventuali dichiarazioni di file Proguard non validi |
android. |
Consente a R8 di conservare meno risorse Android considerando insieme classi e risorse Android. | false → true |
Se le regole di conservazione del progetto sono già state completate, non è necessario apportare modifiche. |
android. |
Consente a R8 di conservare meno elementi non conservando implicitamente il costruttore predefinito
quando una classe viene conservata.
ovvero -keep class A non implica più
-keep class A { <init>(); } |
false → true |
Se le regole di conservazione del progetto sono già state completate, non è necessario apportare modifiche.
Sostituisci -keep class A
con
-keep class A { <init>(); }
nelle regole di conservazione del progetto per tutti i casi in cui è necessario conservare il costruttore predefinito.
|
android. |
Attiva
resValues
in tutti i progetti secondari
|
true → false |
Attiva resValues solo nei sottoprogetti che lo richiedono
impostando quanto segue nei file di build Gradle di questi progetti:
android {
buildFeatures {
resValues = true
}
} |
android. |
Attiva la compilazione degli shader in tutti i sottoprogetti | true → false |
Attiva la compilazione degli shader solo nei sottoprogetti che contengono shader da
compilare impostando quanto segue nei file di build Gradle di questi progetti:
android {
buildFeatures {
shaders = true
}
} |
android. |
In AGP 9.0, getDefaultProguardFile() supporterà solo proguard-android-optimize.txt anziché proguard-android.txt. Questo per evitare l'utilizzo accidentale del flag dontoptimize, incluso in proguard-android.txt.
|
false → true |
Puoi specificare esplicitamente dontoptimize in un file proguard personalizzato se vuoi evitare l'ottimizzazione, oltre a utilizzare proguard-android-optimize.txt. Se possibile, rimuovi il flag dontoptimize da questo file, in quanto riduce i vantaggi dell'ottimizzazione R8. In caso contrario, disattiva l'opzione impostando android.r8.globalOptionsInConsumerRules.disallowed=false.
|
android. |
A partire da AGP 9.0, la pubblicazione di librerie e moduli di funzionalità Android non andrà a buon fine se i file keep per i consumatori contengono configurazioni Proguard problematiche. I file di mantenimento dei consumatori che includono opzioni globali come dontoptimize o dontobfuscate devono essere utilizzati solo nei moduli dell'applicazione e possono ridurre i vantaggi dell'ottimizzazione per gli utenti della libreria. La compilazione del modulo dell'app per Android ignorerà silenziosamente qualsiasi opzione globale di questo tipo se incorporata in una dipendenza precompilata (JAR o AAR). Puoi vedere quando si verifica controllando configuration.txt (in genere in un percorso come <app_module>/build/outputs/mapping/<build_variant>/configuration.txt) per commenti come: # REMOVED CONSUMER RULE: dontoptimize
|
false → true |
Le librerie pubblicate devono rimuovere le regole incompatibili. Le librerie interne devono spostare le regole incompatibili ma necessarie in un proguardFile in un modulo dell'app. Disattiva l'opzione impostando android.r8.globalOptionsInConsumerRules.disallowed=false. Una volta che tutti i file di conservazione dei consumatori sono compatibili, rimuovi la disattivazione.
|
android. |
Non consentire il passaggio di fornitori per le origini generate utilizzando il
AndroidSourceSet
DSL.
|
false → true |
Utilizza l'API
Sources
su androidComponents per registrare le origini generate.
|
android. |
Richiede l'impostazione esplicita del percorso del compilatore di shader in
local.properties
se la compilazione degli shader è abilitata.
|
false → true |
Aggiungi glslc.dir=/path/to/shader-tools al
local.properties del progetto.
|
Funzionalità rimosse
Il plug-in Android per Gradle 9.0 rimuove le seguenti funzionalità:
- Supporto delle app Wear OS incorporate
AGP 9.0 rimuove il supporto per l'incorporamento delle app Wear OS, che non è più supportato in Google Play. Ciò include la rimozione delle configurazioniwearAppe della DSLAndroidSourceSet.wearAppConfigurationName. Consulta la pagina Distribuire su Wear OS per scoprire come pubblicare la tua app su Wear OS. androidDependenciesesourceSetsSegnala attività- Supporto degli APK divisi basati sulla densità
AGP 9.0 non supporta più la creazione di APK divisi basati sulla densità dello schermo. La funzionalità e le API correlate sono state rimosse. Per dividere gli APK in base alla densità dello schermo utilizzando AGP 9.0 o versioni successive, utilizza gli app bundle.
DSL modificato
Il plug-in Android per Gradle 9.0 presenta le seguenti modifiche DSL che causano interruzioni:
La parametrizzazione di
CommonExtensionè stata rimossa.Di per sé, questa è solo una modifica che causa interruzioni a livello di origine per evitare future modifiche che causano interruzioni a livello di origine, ma significa anche che i metodi di blocco devono passare da
CommonExtensionaApplicationExtension,LibraryExtension,DynamicFeatureExtensioneTestExtension.Quando esegui l'upgrade del progetto ad AGP 9.0, esegui il refactoring del codice del plug-in Gradle che utilizza questi parametri o i metodi di blocco. Ad esempio, il seguente plug-in viene aggiornato per rimuovere il parametro type e non fare affidamento sui metodi di blocco rimossi:
AGP 8.13
val commonExtension: CommonExtension<*, *, *, *, *, *> = extensions.getByType(CommonExtension::class) commonExtension.apply { defaultConfig { minSdk { version = release(28) } } }AGP 9.0
val commonExtension: CommonExtension = extensions.getByType(CommonExtension::class) commonExtension.apply { defaultConfig.apply { minSdk { version = release(28) } } }Per i plug-in che hanno come target un intervallo di versioni di AGP, l'utilizzo diretto del getter è compatibile a livello binario con le versioni di AGP precedenti alla 9.0.
DSL rimossa
Il plug-in Android per Gradle 9.0 rimuove:
AndroidSourceSet.jni, perché non era funzionante.AndroidSourceSet.wearAppConfigurationName, in quanto riguarda il supporto delle app Wear OS incorporate rimosso.BuildType.isRenderscriptDebuggable, perché non era funzionante.DependencyVariantSelection. È sostituito daDependencySelection, che è esposto comekotlin.android.localDependencySelectionInstallation.installOptions(String). È sostituito dalla proprietà modificabile diInstallation.installOptions.Il blocco sperimentale, ma mai stabilizzato
PostProcessing.ProductFlavor.setDimension, che viene sostituita dalla proprietàdimensionLanguageSplitOptions, che era utile solo per Google Play Instant, che è ritirato.DensitySplit, perché la funzionalità non è più supportata. La sostituzione prevede l'utilizzo di App Bundle.
API rimosse
Il plug-in Android per Gradle 9.0 rimuove:
AndroidComponentsExtension.finalizeDSl. È sostituito dafinalizeDslComponent.transformClassesWith. È sostituito daInstrumentation.transformClassesWithComponent.setAsmFramesComputationMode. È sostituito daInstrumentation.setAsmFramesComputationModeComponentBuilder.enabled. È sostituito daComponentBuilder.enable.DependenciesInfoBuilder.includedInApk. È sostituito daincludeInApkDependenciesInfoBuilder.includedInBundle. È sostituito daincludeInBundleGeneratesApk.targetSdkVersion. È sostituito datargetSdkVariant.minSdkVersion. È sostituito daminSdkVariant.maxSdkVersion. È sostituito damaxSdkVariant.targetSdkVersion. È sostituito datargetSdkVariant.unitTest, in quanto non era applicabile al plug-incom.android.test.unitTestè disponibile sui sottotipiVariantBuilderche estendonoHasUnitTest.VariantBuilder.targetSdketargetSdkPreview, in quanto non erano significativi nelle raccolte. UtilizzaGeneratesApkBuilder.targetSdkoGeneratesApkBuilder.targetSdkPreviewin alternativa.VariantBuilder.enableUnitTest, in quanto non era applicabile al plug-incom.android.test.enableUnitTestè disponibile sui sottotipiVariantBuilderche estendonoHasUnitTestBuilder.VariantBuilder.unitTestEnabledviene rimosso a favore dienableUnitTest, che ha un nome più coerente nei sottotipiVariantBuilderche estendonoHasUnitTestBuilder.VariantOutput.enable. È sostituito daenabledFeaturePlugineFeatureExtensiondeprecati e disabilitati.Le API
BaseExtension.registerTransformdeprecate e disattivate, che sono rimaste solo per consentire la compilazione in base all'ultima versione di AGP durante il targeting dell'esecuzione su AGP 4.2 o versioni precedenti.
Proprietà Gradle rimosse
Le seguenti proprietà Gradle sono state inizialmente aggiunte come modi per disattivare globalmente le funzionalità abilitate per impostazione predefinita.
Queste funzionalità sono disattivate per impostazione predefinita a partire da AGP 8.0 o versioni precedenti. Attiva queste funzionalità solo nei sottoprogetti che le utilizzano per una compilazione più efficiente.
| Proprietà | Funzione | Sostituzione |
|---|---|---|
android. |
Abilita la compilazione AIDL in tutti i progetti secondari |
Attiva la compilazione AIDL solo nei sottoprogetti in cui sono presenti
origini AIDL
impostando la seguente proprietà nei file di build Gradle di questi progetti:
android {
buildFeatures {
aidl = true
}
} |
android. |
Attiva la compilazione di RenderScript in tutti i sottoprogetti |
Attiva la compilazione di renderscript solo nei sottoprogetti in cui sono presenti
origini renderscript
impostando la seguente proprietà nei file di build Gradle di questi progetti:
android {
buildFeatures {
renderScript = true
}
} |
Proprietà Gradle applicate
AGP 9.0 genera un errore se imposti le seguenti proprietà Gradle.
L'assistente per l'upgrade del plug-in Android per Gradle non eseguirà l'upgrade dei progetti ad AGP 9.0 che utilizzano queste proprietà.
| Proprietà | Funzione |
|---|---|
android. |
La riduzione delle risorse ora viene sempre eseguita nell'ambito di R8. L'implementazione precedente è stata rimossa. |
android. |
La riduzione delle risorse ora utilizza sempre la riduzione precisa delle risorse, che consente di rimuovere più elementi. |
Problemi risolti
Plug-in Android per Gradle 9.0.0-beta04
| Problemi risolti | |||
|---|---|---|---|
| Plug-in Android per Gradle |
|
||
Plug-in Android per Gradle 9.0.0-beta03
| Problemi risolti | |
|---|---|
| Nessun problema pubblico è stato contrassegnato come risolto in AGP 9.0.0-beta03 |
Plug-in Android per Gradle 9.0.0-beta02
| Problemi risolti | ||||
|---|---|---|---|---|
| Plug-in Android per Gradle |
|
|||
| Pelucchi |
|
|||
| Integrazione di Lint |
|
|||
Plug-in Android per Gradle 9.0.0-beta01
| Problemi risolti | |
|---|---|
| Nessun problema pubblico è stato contrassegnato come risolto in AGP 9.0.0-beta01 |
Plug-in Android per Gradle 9.0.0-alpha14
| Problemi risolti | |||||||
|---|---|---|---|---|---|---|---|
| Plug-in Android per Gradle |
|
||||||
| Integrazione di Lint |
|
||||||
| Shrinker (R8) |
|
||||||
Plug-in Android per Gradle 9.0.0-alpha13
| Problemi risolti | ||||
|---|---|---|---|---|
| Plug-in Android per Gradle |
|
|||
Plug-in Android per Gradle 9.0.0-alpha12
| Problemi risolti | |||||
|---|---|---|---|---|---|
| Plug-in Android per Gradle |
|
||||
Plug-in Android per Gradle 9.0.0-alpha11
| Problemi risolti | ||||
|---|---|---|---|---|
| Plug-in Android per Gradle |
|
|||
Plug-in Android per Gradle 9.0.0-alpha10
| Problemi risolti | ||||
|---|---|---|---|---|
| Plug-in Android per Gradle |
|
|||
| Pelucchi |
|
|||
Plug-in Android per Gradle 9.0.0-alpha09
| Problemi risolti | ||||
|---|---|---|---|---|
| Plug-in Android per Gradle |
|
|||
Plug-in Android per Gradle 9.0.0-alpha08
| Problemi risolti | |
|---|---|
| Nessun problema pubblico è stato contrassegnato come risolto in AGP 9.0.0-alpha08 |
Plug-in Android per Gradle 9.0.0-alpha07
| Problemi risolti | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Plug-in Android per Gradle |
|
||||||||
Plug-in Android per Gradle 9.0.0-alpha06
| Problemi risolti | |||||
|---|---|---|---|---|---|
| Plug-in Android per Gradle |
|
||||
| Pelucchi |
|
||||
Plug-in Android per Gradle 9.0.0-alpha05
| Problemi risolti | |||||
|---|---|---|---|---|---|
| Plug-in Android per Gradle |
|
||||
| Pelucchi |
|
||||
Plug-in Android per Gradle 9.0.0-alpha04
| Problemi risolti | ||||
|---|---|---|---|---|
| Plug-in Android per Gradle |
|
|||
| Pelucchi |
|
|||
Plug-in Android per Gradle 9.0.0-alpha03
| Problemi risolti | ||||
|---|---|---|---|---|
| Plug-in Android per Gradle |
|
|||
| Pelucchi |
|
|||
Plug-in Android per Gradle 9.0.0-alpha02
| Problemi risolti | ||||
|---|---|---|---|---|
| Plug-in Android per Gradle |
|
|||
Plug-in Android per Gradle 9.0.0-alpha01
| Problemi risolti | |||||||
|---|---|---|---|---|---|---|---|
| Plug-in Android per Gradle |
|
||||||