Migracja kompilacji do katalogów wersji

Katalogi wersji Gradle pozwalają dodawać i utrzymywać zależności i wtyczki w skalowalny sposób. Korzystanie z katalogów wersji Gradle ułatwia zarządzanie zależnościami i wtyczkami jeśli masz wiele modułów. Zamiast kodowania na stałe nazw zależności i wersji w poszczególnych plikach kompilacji oraz w przypadku potrzeby uaktualnienia zależności można utworzyć katalog wersji zależności, do których różne moduły mogą się odwoływać w bezpieczny sposób dzięki Android Studio.

Ta strona zawiera podstawowe informacje o migracji aplikacji na Androida do i katalogach wersji. Więcej informacji: Dodaj zależności kompilacji i dokumentację Gradle.

Tworzenie pliku katalogu wersji

Zacznij od utworzenia pliku katalogu wersji. W głównym projekcie: gradle utwórz plik o nazwie libs.versions.toml. Gradle wyszukuje katalog w pliku libs.versions.toml domyślnie, więc zalecamy użycie nazwy domyślnej.

W pliku libs.versions.toml dodaj te sekcje:

[versions]

[libraries]

[plugins]

Sekcje są używane w ten sposób:

  • W bloku versions zdefiniuj zmienne zawierające wersje klucza zależności i wtyczki. Tych zmiennych będziesz używać w kolejnych blokach. (bloki libraries i plugins).
  • W bloku libraries zdefiniuj zależności.
  • W bloku plugins zdefiniuj wtyczki.

Etapy migracji

Zalecamy wykonanie tych czynności w podanej kolejności. Kompilacja może zużywać zależności i wtyczki jednocześnie ze skryptów kompilacji i katalogów. nie spiesz się, aby przeprowadzić migrację zależności i wtyczek pojedynczo.

Proces migracji przebiega:

  1. Dodaj nowy wpis do katalogu.
  2. Zsynchronizuj swój projekt na Androida.
  3. Zastąp poprzednią deklarację ciągu znaków akcesorem, który umożliwia korzystanie z katalogu.

Migracja zależności

Dodaj wpis dla każdej zależności w sekcjach versions i libraries pliku libs.versions.toml. Zsynchronizuj swój projekt, a następnie zastąp deklaracje w plikach kompilacji wraz z nazwami katalogów.

Ten fragment kodu pokazuje plik build.gradle.kts przed usunięciem zależność:

Kotlin

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

}

Odlotowe

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

}

Ten fragment kodu pokazuje, jak zdefiniować zależność w wersji plik katalogu:

[versions]
ktx = "1.9.0"

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

Zalecane nazewnictwo bloku zależności w katalogach to typ „kebab” (np. androidx-ktx) pomoc w uzupełnianiu kodu w plikach kompilacji.

W pliku build.gradle.kts każdego modułu, który wymaga zależności, zdefiniować zależności za pomocą nazw zdefiniowanych w pliku TOML.

Kotlin

dependencies {
   implementation(libs.androidx.ktx)

}

Odlotowe

dependencies {
   implementation libs.androidx.ktx

}

Migracja wtyczek

Dodaj wpis dla każdej wtyczki zarówno w sekcji z wersjami, jak i wtyczkami libs.versions.toml. Zsynchronizuj swój projekt, a następnie zastąp deklaracje w bloku plugins{} w plikach kompilacji z katalogiem nazw.

Ten fragment kodu pokazuje plik build.gradle.kts przed usunięciem wtyczka:

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")

}

Odlotowe

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

}

Ten fragment kodu pokazuje, jak zdefiniować wtyczkę w pliku katalogu wersji:

[versions]
androidGradlePlugin = "7.4.1"

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

Podobnie jak w przypadku zależności, zalecane jest formatowanie katalogu blokowego plugins typu kebab (np. android-application) w celu poprawy pomoc w uzupełnianiu kodu w plikach kompilacji.

Poniższy kod pokazuje, jak zdefiniować wtyczkę com.android.application w pliki build.gradle.kts najwyższego i poziomu modułu. Użyj wtyczki alias pochodzące z pliku katalogu wersji oraz id w przypadku wtyczek, które nie są z pliku katalogu wersji, np. wtyczki konwencjonalne.

Kotlin

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

}

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

}

Odlotowe

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

}

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

}

Więcej informacji

Informacje o dodatkowych opcjach konfigurowania katalogu wersji znajdziesz w artykule te zasoby:

Znane problemy

Katalogi wersji Gradle są nadal w trakcie opracowywania. Więcej informacji na temat: które nie są jeszcze obsługiwane, zobacz znanych problemach i ograniczeniach.