Esegui la migrazione della build ai cataloghi delle versioni

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

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

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.