Gestisci repository remoti

Se la dipendenza è diversa da una libreria locale o un albero di file, Gradle cerca i file nei repository online specificati nel dependencyResolutionManagement { repositories {...} } blocco di settings.gradle file. L'ordine di elenco di 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 Innanzitutto, Gradle scarica la dipendenza dal repository A.

Per impostazione predefinita, i nuovi progetti Android Studio specificano il Repository Maven di Google e Repository centrale Maven come le posizioni del 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 trovare qualcosa da un repository locale, usa 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 ulteriori informazioni, consulta Guida ai repository Gradle.

Repository Maven di Google

Le versioni più recenti delle seguenti librerie Android sono disponibili da Repository Maven di Google:

Puoi visualizzare tutti gli elementi disponibili all'indirizzo Indice del Repository Maven di Google (vedi sotto l'accesso programmatico).

Per aggiungere una di queste librerie alla tua 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/'.
    }
}

Quindi, aggiungi la libreria che ti interessa al blocco dependencies del tuo 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.6.1'
}

Tuttavia, se stai cercando di utilizzare una versione precedente di quanto indicato sopra, delle librerie e la dipendenza ha esito negativo, allora non è disponibile in Maven e dovrai recuperarla dal repository offline.

Accesso programmatico

Per l'accesso programmatico agli elementi Maven di Google, puoi ottenere un elenco XML di gruppi di elementi da maven.google.com/master-index.xml. Quindi, per qualsiasi gruppo, puoi visualizzare i nomi e le versioni delle relative 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 nel Repository Maven di Google (solitamente meno recenti) delle librerie), devi scaricare il pacchetto Google Repository offline di SDK Manager.

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

Le librerie offline vengono salvate in android_sdk/extras/.