Gdy zależność jest czymś innym niż lokalna biblioteka lub drzewo plików,
Gradle szuka plików w repozytoriach online określonych w
Twój blok: dependencyResolutionManagement { repositories {...} }
settings.gradle
. Kolejność dodawania repozytoriów określa
kolejność, w jakiej Gradle przeszukuje repozytoria pod kątem każdej zależności projektu.
Jeśli na przykład zależność jest dostępna zarówno w repozytorium A, jak i B, a Ty
z listy A najpierw Gradle pobiera zależność z repozytorium A.
Domyślnie nowe projekty Android Studio określają repozytorium Google Maven, a atrybut
Centralne repozytorium Maven jako
lokalizacje repozytorium w pliku settings.gradle
projektu, jak pokazano poniżej:
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
Odlotowe
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
Jeśli potrzebujesz czegoś z lokalnego repozytorium, użyj polecenia mavenLocal()
:
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() mavenLocal() } }
Odlotowe
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() mavenLocal() } }
Możesz też zadeklarować konkretne repozytoria Maven lub Ivy:
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { maven(url = "https://repo.example.com/maven2") maven(url = "file://local/repo/") ivy(url = "https://repo.example.com/ivy") } }
Odlotowe
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { maven { url 'https://repo.example.com/maven2' } maven { url 'file://local/repo/' } ivy { url 'https://repo.example.com/ivy' } } }
Więcej informacji: Przewodnik po repozytoriach Gradle
Repozytorium Google Maven
Najnowsze wersje tych bibliotek Androida są dostępne w Repozytorium Google Maven:
- Biblioteki AndroidaX
- Biblioteka komponentów architektury
- Biblioteka układu ograniczeń
- Test Androida X
- Biblioteka Databindings
- Biblioteka aplikacji błyskawicznych na Androida
- Wear OS
- Usługi Google Play
- Biblioteka płatności w Google Play
- Firebase
Wszystkie dostępne artefakty znajdziesz na Indeks repozytorium Google Maven (poniżej znajdziesz informacje o dostępie zautomatyzowanym).
Aby dodać jedną z tych bibliotek do kompilacji, dołącz repozytorium Google Maven
w pliku build.gradle.kts
najwyższego poziomu:
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() // If you're using a version of Gradle lower than 4.1, you must instead use: // maven { // url = "https://maven.google.com" // } // An alternative URL is "https://dl.google.com/dl/android/maven2/". } }
Odlotowe
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() // If you're using a version of Gradle lower than 4.1, you must instead use: // maven { // url 'https://maven.google.com' // } // An alternative URL is 'https://dl.google.com/dl/android/maven2/'. } }
Następnie dodaj wybraną bibliotekę do bloku dependencies
modułu.
Na przykład biblioteka appcompat
wygląda tak:
Kotlin
dependencies { implementation("com.android.support:appcompat-v7:28.0.0") }
Odlotowe
dependencies { implementation 'androidx.appcompat:appcompat:1.6.1' }
Jeśli jednak używasz starszej wersji i zależność ulega awarii, jest ona niedostępna w Maven a Ty musisz pobrać bibliotekę z repozytorium offline.
Dostęp automatyczny
Aby uzyskać programowy dostęp do artefaktów Google Maven, możesz: listę XML grup artefaktów ze strony maven.google.com/master-index.xml. Następnie w przypadku każdej grupy możesz wyświetlić nazwy i wersje jej biblioteki na stronie:
maven.google.com/group_path/group-index.xml
Na przykład biblioteki z grupy android.arch.lifecycle są wymienione na stronie maven.google.com/android/arch/lifecycle/group-index.xml.
Pliki POM i JAR możesz też pobrać tutaj:
maven.google.com/group_path/library/version /library–version,ext
Na przykład: maven.google.com/android/arch/lifecycle/buildr/1.0.0/buildr-1. 0.0.pom.
Repozytorium offline z SDK Manager
Biblioteki, które nie są dostępne w repozytorium Google Maven (zwykle starsze wersji biblioteki), musisz pobrać pakiet Repozytorium Google offline w Menedżerze SDK.
Następnie możesz dodać te biblioteki do bloku dependencies
w zwykły sposób.
Biblioteki offline są zapisywane w
android_sdk/extras/