I cataloghi delle versioni di Gradle consentono di aggiungere e gestire dipendenze e plug-in in modo scalabile. L'utilizzo dei cataloghi delle versioni di Gradle semplifica la gestione delle dipendenze e dei plug-in quando hai più moduli. Anziché codificare i nomi e le versioni delle dipendenze nei singoli file di build e aggiornare ogni voce ogni volta che devi eseguire l'upgrade di una dipendenza, puoi creare un catalogo delle versioni centrale delle dipendenze a cui vari moduli possono fare riferimento in modo type-safe con l'assistenza di Android Studio.
Questa pagina fornisce informazioni di base sulla migrazione dell'app per Android ai cataloghi delle versioni. Per saperne di più, consulta Aggiungere dipendenze di build e la documentazione di Gradle.
Crea un file di catalogo delle versioni
Inizia creando un file di catalogo delle versioni. Nella cartella gradle
del progetto principale, crea un file denominato libs.versions.toml
. Gradle cerca il catalogo
nel file libs.versions.toml
per impostazione predefinita,
quindi ti consigliamo di utilizzare questo nome predefinito.
Nel file libs.versions.toml
, aggiungi le seguenti sezioni:
[versions]
[libraries]
[plugins]
Le sezioni vengono utilizzate come segue:
- Nel blocco
versions
, definisci le variabili che contengono le versioni delle dipendenze e dei plug-in. Utilizzi queste variabili nei blocchi successivi (i blocchilibraries
eplugins
). - Nel blocco
libraries
, definisci le dipendenze. - Nel blocco
plugins
, definisci i plug-in.
Passaggi per la migrazione
Ti consigliamo di eseguire i passaggi nell'ordine indicato. Una build può utilizzare dipendenze e plug-in da script e cataloghi di build contemporaneamente, quindi dedica il tempo necessario per eseguire la migrazione di dipendenze e plug-in singolarmente.
Il processo di migrazione è il seguente:
- Aggiungi la nuova voce al catalogo.
- Sincronizza il progetto Android.
- Sostituisci la dichiarazione di stringa precedente con l'accesso con controllo del tipo del catalogo.
Esegui la migrazione delle dipendenze
Aggiungi una voce per ogni dipendenza nelle sezioni versions
e libraries
del file libs.versions.toml
. Sincronizza il progetto, quindi sostituisci le dichiarazioni nei file di build con i nomi dei cataloghi.
Questo snippet di codice mostra il file build.gradle.kts
prima della rimozione della
dipendenza:
Kotlin
dependencies { implementation("androidx.core:core-ktx:1.9.0") }
Groovy
dependencies { implementation 'androidx.core:core-ktx:1.9.0' }
Questo snippet di codice mostra come definire la dipendenza nel file del catalogo delle versioni:
[versions]
ktx = "1.9.0"
[libraries]
androidx-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "ktx" }
La denominazione consigliata per il blocco delle dipendenze nei cataloghi è kebab case (ad esempio
androidx-ktx
) per una migliore
assistenza al completamento del codice
nei file di build.
Nel file build.gradle.kts
di ogni modulo che richiede la dipendenza,
definisci le dipendenze in base ai nomi definiti nel file TOML.
Kotlin
dependencies { implementation(libs.androidx.ktx) }
Groovy
dependencies { implementation libs.androidx.ktx }
Eseguire la migrazione dei plug-in
Aggiungi una voce per ogni plug-in sia nelle sezioni versioni che in quelle plug-in del file libs.versions.toml
. Sincronizza il progetto, quindi sostituisci le dichiarazioni nel blocco plugins{}
dei file di build con i nomi dei cataloghi.
Questo snippet di codice mostra il file build.gradle.kts
prima della rimozione del
plug-in:
Kotlin
// Top-level `build.gradle.kts` file plugins { id("com.android.application") version "7.4.1" apply false } // Module-level `build.gradle.kts` file plugins { id("com.android.application") }
Groovy
// Top-level `build.gradle` file plugins { id 'com.android.application' version '7.4.1' apply false } // Module-level `build.gradle` file plugins { id 'com.android.application' }
Questo snippet di codice mostra come definire il plug-in nel file del catalogo delle versioni:
[versions]
androidGradlePlugin = "7.4.1"
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
Come per le dipendenze, il formato consigliato per le voci del catalogo dei blocchi plugins
è kebab case (ad esempio android-application
) per una migliore assistenza al completamento del codice nei file di build.
Il seguente codice mostra come definire il plug-in com.android.application
nei file build.gradle.kts
a livello di modulo e principale. Utilizza alias
per i plug-in
che provengono dal file del catalogo delle versioni e id
per i plug-in che non provengono
dal file del catalogo delle versioni, ad esempio
i plug-in di convenzione.
Kotlin
// Top-level build.gradle.kts plugins { alias(libs.plugins.android.application) apply false } // module build.gradle.kts plugins { alias(libs.plugins.android.application) }
Groovy
// Top-level build.gradle plugins { alias libs.plugins.android.application apply false } // module build.gradle plugins { alias libs.plugins.android.application }
Scopri di più
Per scoprire di più sulle opzioni aggiuntive per la configurazione del catalogo delle versioni, consulta queste risorse:
- Il formato del file TOML del catalogo delle versioni documenta le opzioni aggiuntive per la configurazione del file del catalogo.
- Now in Android è la nostra app di esempio che utilizza i cataloghi delle versioni.