Cataloghi delle versioni Gradle consentono di aggiungere e gestire dipendenze e plug-in in modo scalabile. L'utilizzo dei cataloghi delle versioni Gradle semplifica la gestione delle dipendenze e dei plug-in quando ci sono più moduli. Invece di impostare come hardcoded nomi e versioni delle dipendenze in singoli file di build e vengono aggiornati ogni volta che devi eseguire l'upgrade di una dipendenza, puoi creare un catalogo delle versioni delle dipendenze a cui i vari moduli possono fare riferimento un modo sicuro per i caratteri con l'assistenza di Android Studio.
Questa pagina fornisce informazioni di base sulla migrazione dell'app Android a dei cataloghi delle versioni. Per saperne di più, vedi Aggiungi dipendenze build e la documentazione di Gradle.
Crea un file di catalogo delle versioni
Per iniziare, crea un file di catalogo delle versioni. In gradle
del progetto principale
crea un file denominato libs.versions.toml
. Gradle cerca il catalogo
nel file libs.versions.toml
per impostazione predefinita,
pertanto ti consigliamo di utilizzare
questo nome predefinito.
Nel file libs.versions.toml
, aggiungi queste sezioni:
[versions]
[libraries]
[plugins]
Le sezioni vengono utilizzate nel seguente modo:
- Nel blocco
versions
, definisci le variabili che contengono le versioni del tuo di dipendenze e plug-in. Queste variabili verranno utilizzate nei blocchi successivi (i blocchilibraries
eplugins
). - Nel blocco
libraries
, definisci le tue dipendenze. - Definisci i plug-in nel blocco
plugins
.
Passaggi della migrazione
Ti consigliamo di eseguire i passaggi nell'ordine indicato. Una build può utilizzare dipendenze e plug-in da script di build e cataloghi contemporaneamente, quindi prendetevi il tempo necessario per migrare le dipendenze e i plug-in singolarmente.
Il processo di migrazione è il seguente:
- Aggiungi la nuova voce al catalogo.
- Sincronizza il tuo progetto Android.
- Sostituisci la dichiarazione stringa precedente con la funzione di accesso sicura per tipo di 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 e sostituisci
dichiarazioni nei file di build con i relativi nomi di catalogo.
Questo snippet di codice mostra il file build.gradle.kts
prima di rimuovere il
:
Kotlin
dependencies { implementation("androidx.core:core-ktx:1.9.0") }
Alla moda
dependencies { implementation 'androidx.core:core-ktx:1.9.0' }
Questo snippet di codice mostra come definire la dipendenza nella versione file di catalogo:
[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 (come
androidx-ktx
) in meglio
assistenza per il completamento del codice
nei file di build.
Nel file build.gradle.kts
di ogni modulo che richiede la dipendenza,
definisci le dipendenze con i nomi definiti nel file TOML.
Kotlin
dependencies { implementation(libs.androidx.ktx) }
Alla moda
dependencies { implementation libs.androidx.ktx }
Esegui la migrazione dei plug-in
Aggiungi una voce per ogni plug-in nelle sezioni delle versioni e dei plug-in di
il file libs.versions.toml
. Sincronizza il progetto e sostituisci
dichiarazioni nel blocco plugins{}
dei file di build con il relativo catalogo
i nomi degli utenti.
Questo snippet di codice mostra il file build.gradle.kts
prima di rimuovere il
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") }
Alla moda
// 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 di catalogo delle versioni:
[versions]
androidGradlePlugin = "7.4.1"
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
Come per le dipendenze, la formattazione consigliata per il catalogo a blocchi plugins
è il caso di kebab (ad es. android-application
) per meglio
assistenza per il completamento del codice
nei file di build.
Il seguente codice mostra come definire il plug-in com.android.application
in
i file build.gradle.kts
a livello di modulo e di sistema. Utilizza alias
per i plug-in
provenienti dal file di catalogo delle versioni e id
per i plug-in che non
dal file catalogo delle versioni, come
plug-in di convention.
Kotlin
// Top-level build.gradle.kts plugins { alias(libs.plugins.android.application) apply false } // module build.gradle.kts plugins { alias(libs.plugins.android.application) }
Alla moda
// 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 opzioni aggiuntive per la configurazione del catalogo delle versioni, vedi queste risorse:
- Il formato file TOML del catalogo delle versioni documenti, opzioni aggiuntive per la configurazione del file di catalogo.
- Ora in Android è la nostra di esempio che utilizza cataloghi delle versioni.
Problemi noti
I cataloghi delle versioni Gradle sono ancora in fase di sviluppo attivo. Per ulteriori informazioni su non ancora supportati, consulta le problemi noti e limitazioni.