Gérer les dépôts distants

Lorsque votre dépendance ne concerne ni une bibliothèque ni une arborescence de fichiers locales, Gradle recherche les fichiers dans les dépôts en ligne spécifiés dans le bloc dependencyResolutionManagement { repositories {...} } de votre fichier settings.gradle. L'ordre dans lequel vous répertoriez chaque dépôt détermine l'ordre dans lequel Gradle les recherche pour chaque dépendance de projet. Par exemple, si une dépendance est disponible à partir des dépôts A et B, et que vous répertoriez d'abord A, Gradle télécharge la dépendance à partir du dépôt A.

Par défaut, les nouveaux projets Android Studio spécifient le dépôt Maven de Google et le dépôt Maven Central en tant qu'emplacements dans le fichier settings.gradle du projet, comme indiqué ci-dessous :

Kotlin

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

Groovy

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

Si vous souhaitez exploiter un dépôt local, utilisez 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()
    }
}

Vous pouvez également déclarer des dépôts Maven ou Ivy spécifiques en procédant comme suit :

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

Pour en savoir plus, consultez le guide des dépôts Gradle.

Dépôt Maven de Google

Les versions les plus récentes des bibliothèques Android suivantes sont disponibles dans le dépôt Maven de Google :

Vous pouvez consulter tous les artefacts disponibles dans l'index du dépôt Maven de Google (voir ci-dessous pour l'accès programmatique).

Pour ajouter l'une de ces bibliothèques à votre build, incluez le dépôt Maven de Google dans votre fichier build.gradle.kts de premier niveau :

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

Ajoutez ensuite la bibliothèque souhaitée au bloc dependencies de votre module. L'exemple ci-dessous cible la bibliothèque Appcompat :

Kotlin

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

Groovy

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

Toutefois, si vous essayez d'utiliser une ancienne version des bibliothèques ci-dessus et que votre dépendance échoue, cela signifie que la bibliothèque visée n'est pas disponible dans le dépôt Maven et que vous devez l'obtenir depuis le dépôt hors connexion.

Accès programmatique

Pour programmer l'accès aux artefacts Maven de Google, vous pouvez obtenir la liste XML des groupes d'artefacts à l'adresse maven.google.com/master-index.xml. Vous pouvez consulter le nom et la version des bibliothèques pour chaque groupe via :

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

Par exemple, les bibliothèques du groupe android.arch.lifecycle sont répertoriées dans maven.google.com/android/arch/lifecycle/group-index.xml.

Vous pouvez également télécharger les fichiers POM et JAR à l'adresse suivante :

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

Exemple : maven.google.com/android/arch/lifecycle/compiler/1.0.0/compiler-1.0.0.pom.

Dépôt hors connexion depuis SDK Manager

Pour les bibliothèques qui ne sont pas disponibles dans le dépôt Maven de Google (il s'agira généralement de versions plus anciennes), vous devez télécharger le package hors connexion Google Repository à partir de SDK Manager.

Vous pouvez ensuite ajouter normalement ces bibliothèques à votre bloc dependencies.

Les bibliothèques hors connexion sont enregistrées dans android_sdk/extras/.