Esegui la migrazione della build ai cataloghi delle versioni

I catalogi delle versioni di Classifiche ti 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 si hanno più moduli. Invece di impostare come hardcoded i nomi e le versioni delle dipendenze nei singoli file di build e aggiornare ogni voce ogni volta che è necessario eseguire l'upgrade di una dipendenza, puoi creare un catalogo delle versioni centrale delle dipendenze a cui i vari moduli possono fare riferimento in sicurezza tramite l'assistenza di Android Studio.

Questa pagina fornisce informazioni di base sulla migrazione della tua app per Android ai cataloghi delle versioni. Per saperne di più, consulta Aggiungere dipendenze per la build e la documentazione di Gradle.

Crea un file di catalogo delle versioni

Per iniziare, crea 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 consigliamo di utilizzare questo nome predefinito.

Nel file libs.versions.toml, aggiungi queste sezioni:

[versions]

[libraries]

[plugins]

Le sezioni sono utilizzate come segue:

  • Nel blocco versions, definisci le variabili che contengono le versioni delle dipendenze e dei plug-in. Puoi utilizzare queste variabili nei blocchi successivi (i blocchi libraries e plugins).
  • Nel blocco libraries, definisci le dipendenze.
  • Nel blocco plugins, definisci i tuoi plug-in.

Passaggi della migrazione

Ti consigliamo di eseguire la procedura nell'ordine indicato. Una build può consumare contemporaneamente dipendenze e plug-in dagli script e dai cataloghi di build, quindi prenditi il tempo necessario per eseguire la migrazione di dipendenze e plug-in individualmente.

Il processo di migrazione è il seguente:

  1. Aggiungi la nuova voce al catalogo.
  2. Sincronizza il tuo progetto Android.
  3. Sostituisci la dichiarazione della stringa precedente con la funzione di accesso sicura per il 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, quindi sostituisci le dichiarazioni nei file di build con i nomi di catalogo.

Questo snippet di codice mostra il file build.gradle.kts prima di rimuovere la dipendenza:

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.9.0")

}

trendy

dependencies {
    implementation 'androidx.core:core-ktx:1.9.0'

}

Questo snippet di codice mostra come definire la dipendenza nel file di catalogo delle versioni:

[versions]
ktx = "1.9.0"

[libraries]
androidx-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "ktx" }

La denominazione consigliata per i blocchi delle dipendenze nei cataloghi è il formato kebab (ad esempio androidx-ktx) per una migliore 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)

}

trendy

dependencies {
   implementation libs.androidx.ktx

}

Esegui la migrazione dei plug-in

Aggiungi una voce per ogni plug-in nelle sezioni relative alle versioni e ai plug-in del file libs.versions.toml. Sincronizza il progetto, quindi sostituisci le relative dichiarazioni nel blocco plugins{} nei file di build con i nomi dei relativi 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")

}

trendy

// 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 le voci del catalogo a blocchi plugins è il formato kebab (come android-application) per una migliore assistenza per il completamento del codice nei file di build.

Il seguente codice mostra come definire il plug-in com.android.application nei file build.gradle.kts di livello superiore e di modulo. Usa alias per i plug-in provenienti dal file di catalogo delle versioni e id per i plug-in che non provengono dal file di catalogo delle versioni, come i plug-in delle versioni.

Kotlin

// Top-level build.gradle.kts
plugins {
   alias(libs.plugins.android.application) apply false

}

// module build.gradle.kts
plugins {
   alias(libs.plugins.android.application)

}

trendy

// 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 le opzioni aggiuntive per configurare il catalogo delle versioni, consulta queste risorse:

Problemi noti

I cataloghi delle versioni Gradle sono ancora in fase di sviluppo attivo. Per ulteriori informazioni su ciò che non è ancora supportato, consulta i problemi noti e le limitazioni.