Gestisci repository remoti

Quando la dipendenza è diversa da una libreria locale o un albero di file, Gradle cerca i file in qualsiasi repository online specificato nel blocco dependencyResolutionManagement { repositories {...} } del file settings.gradle. L'ordine in cui elenchi ciascun repository determina l'ordine in cui Gradle cerca nei repository ogni dipendenza del progetto. Ad esempio, se una dipendenza è disponibile sia dal repository A che da B e viene elencato prima A, Gradle scarica la dipendenza dal repository A.

Per impostazione predefinita, i nuovi progetti Android Studio specificano il Repository Maven di Google e il repository centrale Maven come posizioni di repository nel file settings.gradle del progetto, come mostrato di seguito:

Kotlin


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

trendy


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

Se vuoi un elemento da un repository locale, utilizza mavenLocal():

Kotlin


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

trendy


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

In alternativa, puoi dichiarare repository Maven o Ivy specifici nel seguente modo:

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")
    }
}

trendy


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

Per ulteriori informazioni, consulta la guida di Gradle Repositories.

Repository Maven di Google

Nel Repository Maven di Google sono disponibili le versioni più recenti delle seguenti librerie Android:

Puoi visualizzare tutti gli artefatti disponibili nell'indice del Repository Maven di Google (vedi di seguito per l'accesso alla pubblicità programmatica).

Per aggiungere una di queste librerie alla build, includi il Repository Maven di Google nel file build.gradle.kts di primo livello:

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

trendy


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

Dopodiché aggiungi la libreria che ti interessa al blocco dependencies del modulo. Ad esempio,la libreria appcompat ha il seguente aspetto:

Kotlin


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

trendy


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

Tuttavia, se stai cercando di utilizzare una versione precedente delle librerie precedenti e la dipendenza non funziona, non è disponibile nel repository Maven e devi invece recuperare la libreria dal repository offline.

Accesso programmatico

Per l'accesso programmatico agli artefatti Maven di Google, puoi ottenere un elenco XML di gruppi di artefatti da maven.google.com/master-index.xml. Quindi, per ogni gruppo, puoi visualizzare i nomi e le versioni delle librerie all'indirizzo:

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

Ad esempio, le librerie nel gruppo android.arch.lifecycle sono elencate all'indirizzo maven.google.com/android/arch/lifecycle/group-index.xml.

Puoi anche scaricare i file POM e JAR all'indirizzo:

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

Ad esempio: maven.google.com/android/arch/lifecycle/compiler/1.0.0/compiler-1. 0.0.pom.

Repository offline da SDK Manager

Per le librerie non disponibili dal Repository Maven di Google (di solito le versioni precedenti delle librerie), devi scaricare il pacchetto Google Repository offline da SDK Manager.

Dopodiché puoi aggiungere queste librerie al blocco dependencies come di consueto.

Le librerie offline vengono salvate in android_sdk/extras/.