Gerenciar repositórios remotos

Quando a dependência é relacionada a algo diferente de uma biblioteca ou árvore de arquivos local, o Gradle procura os arquivos nos repositórios on-line especificados no bloco dependencyResolutionManagement { repositories {...} } do arquivo settings.gradle. A ordem usada para listar cada repositório determina a ordem em que o Gradle pesquisa os repositórios para cada dependência de projeto. Por exemplo, se uma dependência estiver disponível nos repositórios A e B, e você listar A primeiro, o Gradle vai fazer o download da dependência do repositório A.

Por padrão, os novos projetos do Android Studio especificam o repositório Maven do Google e o repositório Maven central como locais de repositório no arquivo settings.gradle do projeto, como mostrado abaixo:

Kotlin


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

Groovy


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

Se você quiser algo de um repositório local, use 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()
    }
}

Você também pode declarar repositórios Maven ou Ivy específicos da seguinte forma:

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 saber mais, consulte o guia de repositórios do Gradle.

Repositório Maven do Google

As versões mais recentes das seguintes bibliotecas do Android estão disponíveis no repositório Maven do Google:

Você pode conferir todos os artefatos disponíveis no Índice do repositório Maven do Google (informações sobre o acesso programático são mostradas abaixo).

Para adicionar uma dessas bibliotecas ao seu build, inclua o repositório Maven do Google no arquivo build.gradle.kts de nível superior:

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

Em seguida, adicione a biblioteca desejada ao bloco dependencies do módulo. Por exemplo, a biblioteca appcompat vai ficar assim:

Kotlin


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

Groovy


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

No entanto, se você estiver tentando usar uma versão anterior das bibliotecas acima e a dependência falhar, isso significa que essa versão não está disponível no repositório Maven e que você precisa a extrair do repositório off-line.

Acesso programático

Para acesso programático aos artefatos do Maven do Google, você pode conferir uma lista XML dos grupos de artefatos em maven.google.com/master-index.xml. Em seguida, para qualquer grupo, você pode conferir os nomes e versões das bibliotecas em:

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

Por exemplo, as bibliotecas do grupo android.arch.lifecycle estão listadas em maven.google.com/android/arch/lifecycle/group-index.xml.

Também é possível fazer o download dos arquivos POM e JAR em:

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

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

Repositório off-line do SDK Manager

No caso de bibliotecas que não estão disponíveis no repositório Maven do Google (normalmente, versões antigas), é necessário fazer o download do pacote Google Repository off-line no SDK Manager.

Em seguida, você pode adicionar essas bibliotecas ao bloco dependencies da forma habitual.

As bibliotecas off-line são salvas em android_sdk/extras/.