Administra repositorios remotos

Cuando tu dependencia no es una biblioteca o un árbol de archivos local, Gradle busca los archivos en cualquier repositorio en línea que se especifique en el bloque dependencyResolutionManagement { repositories {...} } de tu archivo settings.gradle. El orden en el que se enumera cada repositorio determina el orden en el que Gradle busca en ellos cada dependencia del proyecto. Por ejemplo, si una dependencia está disponible tanto desde el repositorio A como del B, y enumeras primero el A, Gradle descargará la dependencia del repositorio A.

De forma predeterminada, los nuevos proyectos de Android Studio especifican el repositorio Maven de Google y el repositorio central de Maven como ubicaciones de repositorio en el archivo settings.gradle del proyecto, como se muestra a continuación:

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 deseas algo de un repositorio local, usa 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()
    }
}

También puedes declarar repositorios Maven o Ivy específicos de la siguiente manera:

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

Para obtener más información, consulta la Guía de repositorios de Gradle.

Repositorio Maven de Google

Las versiones más recientes de las siguientes bibliotecas de Android están disponibles en el repositorio Maven de Google:

Puedes ver todos los artefactos disponibles en el índice del repositorio Maven de Google (consulta a continuación acceso programático).

Para agregar una de esas bibliotecas a tu compilación, incluye el repositorio Maven de Google en el archivo build.gradle.kts principal:

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

Luego, agrega la biblioteca deseada al bloque dependencies de tu módulo. Por ejemplo, la biblioteca appcompat tiene el siguiente aspecto:

Kotlin


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

Groovy


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

Sin embargo, si intentas usar una versión anterior de las bibliotecas que se mencionan más arriba y se produce una falla en tu dependencia, significa que el repositorio Maven no está disponible y, en su lugar, deberás obtener la biblioteca del repositorio sin conexión.

Acceso programático

Para acceder a los artefactos Maven de Google de forma programática, puedes obtener una lista en formato XML de los grupos de artefactos en maven.google.com/master-index.xml. Para cualquier grupo, puedes ver los nombres y las versiones de bibliotecas en:

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

Por ejemplo, las bibliotecas en el grupo "android.arch.lifecycle" se enumeran en maven.google.com/android/arch/lifecycle/group-index.xml.

También puedes descargar los archivos POM y JAR en el siguiente vínculo:

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

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

Repositorio sin conexión de SDK Manager

En el caso de las bibliotecas que no están disponibles en el repositorio Maven de Google (por lo general, las versiones anteriores de bibliotecas), deberás descargar el paquete del repositorio de Google sin conexión de SDK Manager.

Luego, podrás agregar estas bibliotecas a tu bloque dependencies como lo haces normalmente.

Las bibliotecas sin conexión se guardan en android_sdk/extras/.