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:
- Bibliotecas de AndroidX
- Biblioteca de componentes de arquitectura
- Biblioteca de diseño de restricciones
- Prueba de AndroidX
- Biblioteca de vinculación de datos
- Biblioteca de Apps instantáneas Android
- Wear OS
- Servicios de Google Play
- Biblioteca de Facturación Google Play
- Firebase
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/
.