Gdy zależność nie jest biblioteką lokalną ani drzewem plików, Gradle szuka plików w repozytoriach online określonych w bloku dependencyResolutionManagement { repositories {...} } w pliku settings.gradle. Kolejność, w jakiej wymieniasz poszczególne repozytoria, określa kolejność, w jakiej Gradle przeszukuje repozytoria pod kątem zależności projektu.
Jeśli na przykład zależność jest dostępna w repozytorium A i B, a najpierw wymienisz repozytorium A, Gradle pobierze zależność z repozytorium A.
Domyślnie nowe projekty Android Studio określają repozytorium Google Maven i
centralne repozytorium Maven jako
lokalizacje repozytoriów w pliku settings.gradle projektu, jak pokazano poniżej:
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
Dynamiczny
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
Jeśli chcesz użyć czegoś z repozytorium lokalnego, użyj mavenLocal():
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() mavenLocal() } }
Dynamiczny
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() mavenLocal() } }
Możesz też zadeklarować konkretne repozytoria Maven lub Ivy w ten sposób:
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") } }
Dynamiczny
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 znajdziesz w przewodniku po repozytoriach Gradle.
Repozytorium Google Maven
Najnowsze wersje tych bibliotek na Androida są dostępne w repozytorium Google Maven:
- Biblioteki AndroidX
- Biblioteka komponentów architektury
- Biblioteka ConstraintLayout
- AndroidX Test
- Biblioteka Databinding
- 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 w indeksie repozytorium Google Maven (dostęp za pośrednictwem rozwiązań programowych znajdziesz poniżej).
Aby dodać jedną z tych bibliotek do kompilacji, uwzględnij 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/". } }
Dynamiczny
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 żądaną bibliotekę do bloku dependencies modułu.
Na przykład bibliotze appcompat
wygląda tak:
Kotlin
dependencies { implementation("com.android.support:appcompat-v7:28.0.0") }
Dynamiczny
dependencies { implementation 'androidx.appcompat:appcompat:1.7.0' }
Jeśli jednak próbujesz użyć starszej wersji bibliotek wymienionych powyżej i zależność się nie powiedzie, oznacza to, że nie jest ona dostępna w repozytorium Maven i musisz ją pobrać z repozytorium offline.
Dostęp za pośrednictwem rozwiązań programowych
Aby uzyskać dostęp do artefaktów Google Maven za pośrednictwem rozwiązań programowych, możesz pobrać listę grup artefaktów w formacie XML z adresu maven.google.com/master-index.xml. Następnie w przypadku każdej grupy możesz wyświetlić jej nazwy i wersje bibliotek pod adresem:
maven.google.com/group_path/group-index.xml
Na przykład biblioteki w grupie android.arch.lifecycle są wymienione pod adresem maven.google.com/android/arch/lifecycle/group-index.xml.
Możesz też pobrać pliki POM i JAR pod adresem:
maven.google.com/group_path/library/version /library-version.ext
Przykład: maven.google.com/android/arch/lifecycle/compiler/1.0.0/compiler-1. 0.0.pom.
Repozytorium offline z SDK Manager
W przypadku bibliotek niedostępnych w repozytorium Google Maven (zwykle starszych wersji bibliotek) musisz pobrać pakiet offline Google Repository z SDK Manager.
Następnie możesz dodać te biblioteki do bloku dependencies jak zwykle.
Biblioteki offline są zapisywane w
android_sdk/extras/.