Esegui la migrazione della build ai cataloghi delle versioni

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 blocchi libraries e plugins).
  • 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:

  1. Aggiungi la nuova voce al catalogo.
  2. Sincronizza il progetto Android.
  3. 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: