Wenn Ihre Abhängigkeit etwas anderes als eine lokale Bibliothek oder ein lokaler Dateibaum ist, sucht Gradle in den Online-Repositories nach den Dateien, die im Block dependencyResolutionManagement { repositories {...} } Ihrer Datei settings.gradle 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 in Repository A als auch in Repository B verfügbar ist und Sie A zuerst auflisten, lädt Gradle die Abhängigkeit aus Repository A herunter.
Standardmäßig werden in neuen Android Studio-Projekten das Maven-Repository von Google und das
Maven Central Repository als
Repository-Standorte 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 verwenden möchten, 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() } }
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") } }
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.
Maven-Repository von Google
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
- Data Binding Library
- Android Instant App Library
- Wear OS
- Google Play-Dienste
- Google Play Billing Library
- Firebase
Alle verfügbaren Artefakte finden Sie im Index des Maven-Repositorys von Google (siehe unten für programmatischen Zugriff).
Wenn Sie eine dieser Bibliotheken Ihrem Build hinzufügen möchten, fügen Sie das Maven-Repository von Google in Ihre build.gradle.kts-Datei 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 Block dependencies 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 eine ältere Version der oben genannten Bibliotheken verwenden möchten und Ihre Abhängigkeit fehlschlägt, ist sie nicht im Maven-Repository verfügbar. 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 der Artefaktgruppen unter maven.google.com/master-index.xml abrufen. Für jede Gruppe können Sie dann die Bibliotheksnamen und -versionen unter folgender Adresse aufrufen:
maven.google.com/group_path/group-index.xml
Die Bibliotheken in der Gruppe android.arch.lifecycle sind beispielsweise unter maven.google.com/android/arch/lifecycle/group-index.xml aufgeführt.
Sie können die POM- und JAR-Dateien auch unter folgender Adresse 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 Maven-Repository von Google verfügbar sind (in der Regel ältere Bibliotheksversionen), müssen Sie das Offline-Paket Google Repository aus dem SDK Manager herunterladen.
Anschließend können Sie diese Bibliotheken wie gewohnt dem Block dependencies hinzufügen.
Die Offline-Bibliotheken werden in
android_sdk/extras/ gespeichert.