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. (blokilibraries
iplugins
). - 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:
- Dodaj nowy wpis do katalogu.
- Zsynchronizuj swój projekt na Androida.
- 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:
- Format pliku TOML katalogu wersji zawiera dodatkowe opcje konfiguracji pliku katalogu.
- Teraz w Androidzie przykładowej aplikacji, która korzysta z katalogów wersji.
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.