Remote-Repositories verwalten

Wenn Ihre Abhängigkeit nicht eine lokale Bibliothek oder ein Dateibaum ist, sucht Gradle in den Online-Repositories nach den Dateien, die im dependencyResolutionManagement { repositories {...} }-Block der Datei settings.gradle angegeben sind. Die Reihenfolge, in der Sie die einzelnen Repositories auflisten, bestimmt die Reihenfolge, in der Gradle die Repositories für jede Projektabhängigkeit durchsucht. Wenn beispielsweise eine Abhängigkeit sowohl in Repository A als auch in Repository B verfügbar ist und Sie A zuerst aufführen, lädt Gradle die Abhängigkeit aus Repository A herunter.

Bei neuen Android Studio-Projekten wird standardmäßig das Maven-Repository von Google und das Maven Central Repository als Repository-Speicherorte in der Datei settings.gradle des Projekts angegeben, wie unten dargestellt:

Kotlin


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

Groovig


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

Wenn Sie Daten aus einem lokalen Repository abrufen möchten, verwenden Sie mavenLocal():

Kotlin


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

Groovig


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

Alternativ können Sie bestimmte Maven- oder Ivy-Repositories so deklarieren:

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

Groovig


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'
        }
    }
}

Weitere Informationen finden Sie in der Anleitung zu Gradle Repositories.

Maven-Repository von Google

Die neuesten Versionen der folgenden Android-Bibliotheken sind im Maven-Repository von Google verfügbar:

Sie können alle verfügbaren Artefakte im Maven-Repository-Index von Google sehen. Informationen zum programmatischen Zugriff finden Sie unten.

Wenn Sie Ihrem Build eine dieser Bibliotheken hinzufügen möchten, nehmen Sie das Maven-Repository von Google in die Datei build.gradle.kts auf oberster Ebene auf:

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/".
    }
}

Groovig


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/'.
    }
}

Fügen Sie dann die gewünschte Bibliothek zum dependencies-Block Ihres Moduls hinzu. Die Appcompat-Bibliothek sieht beispielsweise so aus:

Kotlin


dependencies {
    implementation("com.android.support:appcompat-v7:28.0.0")
}

Groovig


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

Wenn Sie jedoch versuchen, eine ältere Version der oben genannten Bibliotheken zu verwenden, und die Abhängigkeit fehlschlägt, ist sie nicht im Maven-Repository verfügbar und Sie müssen die Bibliothek stattdessen aus dem Offline-Repository abrufen.

Programmatischer Zugriff

Für den programmatischen Zugriff auf die Maven-Artefakte von Google können Sie eine XML-Liste von Artefaktgruppen von maven.google.com/master-index.xml abrufen. Anschließend können Sie für jede Gruppe deren Bibliotheksnamen und -versionen unter der folgenden URL aufrufen:

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

Bibliotheken in der Gruppe „android.arch.lifecycle“ sind beispielsweise unter maven.google.com/android/arch/lifecycle/group-index.xml aufgelistet.

Sie können die POM- und JAR-Dateien auch unter folgendem Link herunterladen:

maven.google.com/group_path/library/version /library-version.ext

Beispiel: maven.google.com/android/arch/lifecycle/compiler/1.0.0/compiler-1. 0.0.pom.

Offline-Repository aus SDK Manager

Für Bibliotheken, die nicht im Google Maven-Repository verfügbar sind (in der Regel ältere Bibliotheksversionen), müssen Sie das Offlinepaket Google Repository aus dem SDK Manager herunterladen.

Anschließend können Sie diese Bibliotheken wie gewohnt zum dependencies-Block hinzufügen.

Die Offlinebibliotheken werden in android_sdk/extras/ gespeichert.