Remote-Repositories verwalten

Wenn Ihre Abhängigkeit nicht einer lokalen Bibliothek oder einem Dateibaum entspricht, Gradle sucht in den Online-Repositories nach den Dateien, die im dependencyResolutionManagement { repositories {...} } Block von settings.gradle-Datei. Die Reihenfolge, in der Sie jedes Repository auflisten, bestimmt Die Reihenfolge, in der Gradle die Repositories nach jeder Projektabhängigkeit durchsucht. Wenn beispielsweise eine Abhängigkeit sowohl von Repository A als auch von Repository B verfügbar ist und Sie Als Erstes lädt Gradle die Abhängigkeit aus Repository A herunter.

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

Kotlin


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

Cool


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

Cool


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

Sie können auch 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")
    }
}

Cool


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 aktuellen Versionen der folgenden Android-Bibliotheken sind verfügbar auf Das Maven-Repository von Google:

Du findest alle verfügbaren Artefakte unter Maven-Repository-Index von Google Weitere Informationen zum programmatischen Zugriff finden Sie unten.

Um Ihrem Build eine dieser Bibliotheken hinzuzufügen, schließen Sie das Maven-Repository von Google ein in der Datei build.gradle.kts auf oberster Ebene:

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

Cool


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. Beispiel: appcompat-Bibliothek sieht so aus:

Kotlin


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

Cool


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

Falls Sie jedoch eine ältere Version der oben genannten und die Abhängigkeit fehlschlägt, steht sie im Maven- Repository und müssen Sie stattdessen die Bibliothek aus dem Offline-Repository abrufen.

Programmatischer Zugriff

Für den programmatischen Zugriff auf die Maven-Artefakte von Google können Sie Eine XML-Liste der Artefaktgruppen von maven.google.com/master-index.xml. Anschließend können Sie die Bibliotheksnamen und -versionen jeder Gruppe hier ansehen:

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

Sie können die POM- und JAR-Dateien auch hier herunterladen:

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

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

Offline-Repository aus SDK Manager

Für Bibliotheken, die nicht über das Maven-Repository von Google verfügbar sind (normalerweise älter Bibliotheksversionen), müssen Sie das Offline-Google Repository-Paket herunterladen. über den SDK-Manager.

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

Die Offlinebibliotheken werden gespeichert in android_sdk/extras/