Quando la dipendenza non è una libreria locale o 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 le dipendenze di ogni progetto nei repository.
Ad esempio, se una dipendenza è disponibile sia nel repository A sia nel repository B e elenchi 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 Maven Central 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 utilizzare 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 la guida ai repository Gradle.
Repository Maven di Google
Le versioni più recenti delle seguenti librerie Android sono disponibili nel repository Maven di Google:
- Librerie AndroidX
- Libreria dei componenti dell'architettura
- Libreria di layout vincolati
- Test AndroidX
- Libreria di data binding
- Libreria di app istantanee Android
- Wear OS
- Google Play Services
- Libreria Fatturazione Google Play
- Firebase
Puoi visualizzare tutti gli artefatti disponibili all' 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 stai provando 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 recuperarla dal repository offline.
Accesso programmatico
Per l'accesso programmatico agli artefatti Maven di Google, puoi ottenere un elenco XML dei gruppi di artefatti da maven.google.com/master-index.xml. Poi, 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 del 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 (in genere versioni precedenti ), devi scaricare il pacchetto offline Google Repository da SDK Manager.
Poi puoi aggiungere queste librerie al blocco dependencies come di consueto.
Le librerie offline vengono salvate in
android_sdk/extras/.