Quando la dipendenza è diversa da una raccolta locale o da una struttura ad albero di file,
Gradle cerca i file nei repository online specificati nel
blocco dependencyResolutionManagement { repositories {...} }
del
settings.gradle
file. 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 dal repository A che da 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 centrale Maven come 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 qualcosa da un repository locale, utilizza 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() } }
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 a Gradle Repositories.
Repository Maven di Google
Le versioni più recenti delle seguenti librerie Android sono disponibili nel repository Maven di Google:
- Librerie AndroidX
- Library di componenti dell'architettura
- Libreria Constraint Layout
- Test AndroidX
- Raccolta di dati
- Raccolta di app istantanee Android
- Wear OS
- Google Play Services
- Google Play Billing Library
- Firebase
Puoi visualizzare tutti gli elementi disponibili nell'indice del repository Maven di Google (vedi di seguito per l'accesso programmatico).
Per aggiungere una di queste librerie alla compilazione, 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/". } }
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/'. } }
Aggiungi quindi 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") }
Groovy
dependencies { implementation 'androidx.appcompat:appcompat:1.7.0' }
Tuttavia, se stai tentando di 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 elementi Maven di Google, puoi ottenere un elenco XML dei gruppi di elementi da maven.google.com/master-index.xml. Per qualsiasi 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 (di solito versioni precedenti della libreria), 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/
.