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 (Blockierungenlibraries
undplugins
). - 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:
- Fügen Sie dem Katalog den neuen Eintrag hinzu.
- Synchronisieren Sie Ihr Android-Projekt.
- 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:
- Das TOML-Dateiformat des Versionskatalogs dokumentiert zusätzliche Optionen zum Konfigurieren der Katalogdatei.
- Now in Android ist unsere Beispielanwendung, die Versionskataloge verwendet.
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.