Build zu Versionskatalogen migrieren

Gradle-Versionskataloge ermöglichen es Ihnen, Abhängigkeiten und Plug-ins skalierbar hinzuzufügen und zu verwalten. Die Verwendung von Gradle-Versionskatalogen erleichtert die Verwaltung von Abhängigkeiten und Plug-ins wenn Sie mehrere Module haben. Statt hart zu codieren Abhängigkeitsnamen und -versionen in einzelnen Build-Dateien und aktualisieren -Eintrag, wann immer Sie eine Abhängigkeit aktualisieren müssen, können Sie einen zentralen Versionskatalog der Abhängigkeiten, auf die verschiedene Module in typsicher dank Unterstützung von Android Studio.

Diese Seite enthält grundlegende Informationen zur Migration deiner Android-App zu Versionskataloge. Weitere Informationen finden Sie unter Fügen Sie Build-Abhängigkeiten hinzu und lesen Sie die Gradle-Dokumentation.

Versionskatalogdatei erstellen

Erstellen Sie zuerst eine Versionskatalogdatei. Im gradle Ihres Stammprojekts erstellen Sie eine Datei namens libs.versions.toml. Gradle sucht nach dem Katalog in der libs.versions.toml-Datei nach Standard, daher empfehlen wir, diesen Standardnamen zu verwenden.

Fügen Sie der Datei libs.versions.toml die folgenden Abschnitte hinzu:

[versions]

[libraries]

[plugins]

Die Abschnitte werden wie folgt verwendet:

  • Definieren Sie im Block versions Variablen, die die Versionen Ihrer Abhängigkeiten und Plug-ins. Sie verwenden diese Variablen in den nachfolgenden Blöcken (Blockierungen libraries und plugins).
  • Definieren Sie im Block libraries die Abhängigkeiten.
  • Definieren Sie im Block plugins Ihre Plug-ins.

Migrationsschritte

Wir empfehlen, die Schritte in der aufgeführten Reihenfolge auszuführen. Ein Build kann und Plug-ins aus Build-Skripten und Katalogen gleichzeitig nutzen können. Nehmen Sie sich die Zeit, Ihre Abhängigkeiten und Plug-ins einzeln zu migrieren.

Der Migrationsprozess ist:

  1. Fügen Sie dem Katalog den neuen Eintrag hinzu.
  2. Synchronisieren Sie Ihr Android-Projekt.
  3. Ersetzen Sie die vorherige Stringdeklaration durch die typsichere Zugriffsfunktion für den Katalog.

Abhängigkeiten migrieren

Fügen Sie für jede Abhängigkeit in den Abschnitten versions und libraries einen Eintrag hinzu. der Datei libs.versions.toml. Synchronisieren Sie Ihr Projekt und ersetzen Sie dann -Deklarationen in den Build-Dateien mit ihren Katalognamen.

Mit diesem Code-Snippet wird die Datei build.gradle.kts angezeigt, bevor das Tag Abhängigkeit:

Kotlin

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

}

Cool

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

}

Dieses Code-Snippet zeigt, wie die Abhängigkeit in der Version Katalogdatei:

[versions]
ktx = "1.9.0"

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

Die empfohlene Benennung des Abhängigkeitenblocks in Katalogen ist Kebab-Case (z. B. androidx-ktx) für bessere Unterstützung bei der Codevervollständigung in Ihren Build-Dateien.

In der Datei build.gradle.kts jedes Moduls, das die Abhängigkeit erfordert, die Abhängigkeiten mit den Namen definieren, die Sie in der TOML-Datei definiert haben.

Kotlin

dependencies {
   implementation(libs.androidx.ktx)

}

Cool

dependencies {
   implementation libs.androidx.ktx

}

Plug-ins migrieren

Fügen Sie für jedes Plug-in einen Eintrag sowohl in den Versionen als auch in den Plug-ins-Abschnitten der die Datei libs.versions.toml. Synchronisieren Sie Ihr Projekt und ersetzen Sie dann Deklarationen im plugins{}-Block in den Build-Dateien mit ihrem Katalog Namen.

Mit diesem Code-Snippet wird die Datei build.gradle.kts angezeigt, bevor das Tag 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")

}

Cool

// 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'

}

Dieses Code-Snippet zeigt, wie das Plug-in in der Versionskatalogdatei definiert wird:

[versions]
androidGradlePlugin = "7.4.1"

[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }

Wie bei Abhängigkeiten wird auch für den plugins-Blockkatalog die empfohlene Formatierung empfohlen. oder Kebab-Einträge (z. B. android-application) für eine bessere Unterstützung bei der Codevervollständigung in Ihren Build-Dateien.

Der folgende Code zeigt, wie das Plug-in com.android.application in der Dateien auf oberster und Modulebene von build.gradle.kts. alias für Plug-ins verwenden aus der Versionskatalogdatei und id für Plug-ins, aus dem Versionskatalog aus, z. B. Konventions-Plug-ins.

Kotlin

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

}

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

}

Cool

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

}

// module build.gradle
plugins {
   alias libs.plugins.android.application

}

Weitere Informationen

Informationen zu zusätzlichen Optionen zum Konfigurieren des Versionskatalogs finden Sie unter diesen Ressourcen:

Bekannte Probleme

Gradle-Versionskataloge werden noch aktiv entwickelt. Weitere Informationen zu Informationen darüber, was noch nicht unterstützt wird, bekannten Problemen und Einschränkungen.