Gestisci repository remoti

Quando la dipendenza è diversa da una libreria locale o da un albero di file, Gradle cerca i file nei repository online specificati nel blocco dependencyResolutionManagement { repositories {...} } del file settings.gradle. L'ordine in cui elenchi ogni repository determina l'ordine in cui Gradle cerca i repository per ogni dipendenza del progetto. Ad esempio, se una dipendenza è disponibile sia nel repository A che nel repository B e indichi prima il repository 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 dei repository nel file settings.gradle del progetto, come mostrato di seguito:

Kotlin

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

Alla moda

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

Alla moda

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

In alternativa, puoi dichiarare repository Maven o Ivy specifici come segue:

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

Alla moda

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 saperne di più, consulta la guida ai repository Gradle.

Repository Maven di Google

Le versioni più recenti delle seguenti librerie Android sono disponibili nel repository Maven di Google:

Puoi visualizzare tutti gli artefatti disponibili nell'indice del repository Maven di Google (vedi di seguito per l'accesso programmatico).

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

Alla moda

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

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

Alla moda

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

Tuttavia, se provi a utilizzare una versione precedente delle librerie sopra indicate e la dipendenza non va a buon fine, significa che non è disponibile nel repository Maven e devi 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. Poi, per qualsiasi gruppo, puoi visualizzare i nomi e le versioni delle librerie in:

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 nel repository Maven di Google (di solito versioni della libreria precedenti), devi scaricare il pacchetto Repository Google offline da SDK Manager.

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

Le librerie offline vengono salvate in android_sdk/extras/.