Zarządzaj zdalnymi repozytoriami

Jeśli zależność jest czymś innym niż biblioteka lokalna lub drzewo 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 Mavencentralne 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()     } }

Groovy

dependencyResolutionManagement {     repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)     repositories {         google()         mavenCentral()     } }

Jeśli chcesz pobrać coś z repozytorium lokalnego, użyj mavenLocal():

Kotlin

dependencyResolutionManagement {     repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)     repositories {         google()         mavenCentral()         mavenLocal()     } }

Groovy

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

Groovy

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 Maven Google

Najnowsze wersje tych bibliotek Androida są dostępne w repozytorium Maven Google:

Wszystkie dostępne artefakty znajdziesz w indeksie repozytorium Maven Google (poniżej znajdziesz informacje o dostępie programowym).

Aby dodać jedną z tych bibliotek do kompilacji, uwzględnij repozytorium Maven firmy Google 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/".     } }

Groovy

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

Groovy

dependencies {     implementation 'androidx.appcompat:appcompat:1.7.0' }

Jeśli jednak próbujesz użyć starszej wersji powyższych bibliotek i zależność nie działa, oznacza to, że nie jest ona dostępna w repozytorium Maven. Musisz wtedy pobrać bibliotekę z repozytorium offline.

Dostęp za pośrednictwem rozwiązań programowych

Aby uzyskać programowy dostęp do artefaktów Maven Google, możesz pobrać listę grup artefaktów w formacie XML ze strony maven.google.com/master-index.xml. Następnie w przypadku dowolnej grupy możesz wyświetlić nazwy i wersje bibliotek:

maven.google.com/group_path/group-index.xml

Na przykład biblioteki w grupie 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/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 repozytorium GoogleMenedżera SDK.

Następnie możesz dodać te biblioteki do bloku dependencies w zwykły sposób.

Biblioteki offline są zapisywane w folderze android_sdk/extras/.