Zarządzaj zdalnymi repozytoriami

Gdy zależność jest czymś innym niż lokalna biblioteka lub drzewo plików, Gradle szuka plików w repozytoriach online określonych w bloku dependencyResolutionManagement { repositories {...} } pliku 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 z repozytorium A, jak i z repozytorium B, a jako pierwsze wymienione jest 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 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 znajdziesz w przewodniku po repozytoriach Gradle.

Repozytorium Google Maven

W repozytorium Maven Google są dostępne najnowsze wersje tych bibliotek Androida:

Wszystkie dostępne artefakty możesz zobaczyć w indeksie repozytoriów Google Maven (poniżej znajdziesz informacje o dostępie zautomatyzowanym).

Aby dodać do kompilacji jedną z tych bibliotek, dołącz repozytorium Google Maven do 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 próbujesz użyć starszej wersji tych bibliotek i zależność się nie uda, oznacza to, że nie jest ona dostępna w repozytorium Maven. Zamiast tego musisz pobrać bibliotekę z repozytorium offline.

Dostęp automatyczny

Aby uzyskać programowy dostęp do artefaktów Google Maven, możesz pobrać listę grup artefaktów w formacie XML 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 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

W przypadku bibliotek, których nie ma w repozytorium Google Maven (zwykle są to starsze wersje bibliotek), musisz pobrać pakiet offline Repozytorium Google offline z Menedżera pakietów SDK.

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

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