Wenn Ihre Abhängigkeit keine lokale Bibliothek oder kein lokaler Dateibaum ist, sucht Gradle nach den Dateien in den Online-Repositories, die im Block dependencyResolutionManagement { repositories {...} } Ihrer settings.gradle-Datei angegeben sind. Die Reihenfolge, in der Sie die einzelnen Repositories auflisten, bestimmt die Reihenfolge, in der Gradle die Repositories nach den einzelnen Projektabhängigkeiten durchsucht.
Wenn eine Abhängigkeit beispielsweise sowohl im Repository A als auch im Repository B verfügbar ist und Sie Repository A zuerst auflisten, lädt Gradle die Abhängigkeit aus Repository A herunter.
In neuen Android Studio-Projekten sind 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 gezeigt:
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
Groovy
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
Wenn Sie etwas aus einem lokalen Repository benötigen, verwenden Sie 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() } }
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") } }
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' } } }
Weitere Informationen finden Sie im Leitfaden zu Gradle-Repositories.
Google-Repository bei Maven
Die neuesten Versionen der folgenden Android-Bibliotheken sind im Maven-Repository von Google verfügbar:
- AndroidX-Bibliotheken
- Architecture Components Library
- Constraint Layout Library
- AndroidX Test
- Datenbindungsbibliothek
- Android Instant App-Bibliothek
- Wear OS
- Google Play-Dienste
- Google Play Billing Library
- Firebase
Alle verfügbaren Artefakte finden Sie im Maven-Repository-Index von Google (Informationen zum programmatischen Zugriff finden Sie unten).
Wenn Sie eine dieser Bibliotheken zu Ihrem Build hinzufügen möchten, fügen Sie das Maven-Repository von Google in die Datei build.gradle.kts auf oberster Ebene ein:
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/'. } }
Fügen Sie dann die gewünschte Bibliothek dem dependencies-Block Ihres Moduls hinzu.
Die appcompat-Bibliothek sieht beispielsweise so aus:
Kotlin
dependencies { implementation("com.android.support:appcompat-v7:28.0.0") }
Groovy
dependencies { implementation 'androidx.appcompat:appcompat:1.7.0' }
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. Sie müssen die Bibliothek dann 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 unter maven.google.com/master-index.xml abrufen. Anschließend können Sie für jede Gruppe die Bibliotheksnamen und -versionen aufrufen:
maven.google.com/group_path/group-index.xml
Beispiel: Bibliotheken in der Gruppe „android.arch.lifecycle“ sind unter maven.google.com/android/arch/lifecycle/group-index.xml aufgeführt.
Sie können die POM- und JAR-Dateien auch hier 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 dem SDK-Manager
Für Bibliotheken, die nicht im Google Maven-Repository verfügbar sind (normalerweise ältere Bibliotheksversionen), müssen Sie das Offline-Paket Google Repository aus dem SDK-Manager herunterladen.
Anschließend können Sie diese Bibliotheken wie gewohnt Ihrem dependencies-Block hinzufügen.
Die Offlinebibliotheken werden in android_sdk/extras/ gespeichert.