Если зависимость не является локальной библиотекой или деревом файлов, Gradle ищет файлы в онлайн-хранилищах, указанных в блоке dependencyResolutionManagement { repositories {...} } файла settings.gradle. Порядок, в котором вы перечисляете каждое хранилище, определяет порядок, в котором Gradle ищет хранилища для каждой зависимости проекта.
Например, если зависимость доступна в хранилищах A и B, а вы указали первым хранилище A, Gradle скачает зависимость из хранилища A.
По умолчанию в новых проектах Android Studio в качестве расположений репозиториев в файле settings.gradle проекта указываются репозиторий Google Maven и центральный репозиторий Maven, как показано в примере ниже.
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
Яркий
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
Если вы хотите получить что-то из локального репозитория, используйте mavenLocal():
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() mavenLocal() } }
Яркий
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() mavenLocal() } }
Вы также можете объявить определенные хранилища Maven или Ivy, как показано ниже.
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") } }
Яркий
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' } } }
Дополнительную информацию можно найти в руководстве по репозиториям Gradle.
Репозиторий Google Maven
Последние версии следующих библиотек Android доступны в хранилище Google Maven:
- Библиотеки AndroidX
- Библиотека компонентов архитектуры
- Библиотека Constraint Layout
- AndroidX Test
- Библиотека привязки данных
- Библиотека приложений для Android с мгновенным запуском
- Wear OS
- Сервисы Google Play
- Библиотека Google Play Платежей
- Firebase
Все доступные артефакты можно посмотреть в индексе репозитория Maven от Google. (Инструкции по программному доступу приведены в разделе Программный доступ.)
Чтобы добавить одну из этих библиотек в сборку, включите репозиторий Maven Google в файл build.gradle.kts верхнего уровня:
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/". } }
Яркий
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/'. } }
Затем добавьте выбранную библиотеку в блок dependencies модуля. Например, библиотека appcompat выглядит так:
Kotlin
dependencies { implementation("com.android.support:appcompat-v7:28.0.0") }
Яркий
dependencies { implementation 'androidx.appcompat:appcompat:1.7.0' }
Однако если вы пытаетесь использовать более старую версию этих библиотек и зависимость не работает, значит, она недоступна в репозитории Maven и вам необходимо получить библиотеку из офлайн-репозитория.
Доступ к алгоритмическим продажам
Чтобы получить программный доступ к артефактам Maven от Google, вы можете скачать XML-список групп артефактов по адресу maven.google.com/master-index.xml. Затем для любой группы вы можете посмотреть названия и версии библиотек:
maven.google.com/group_path/group-index.xml
Например, библиотеки в группе android.arch.lifecycle перечислены на странице maven.google.com/android/arch/lifecycle/group-index.xml.
Вы также можете скачать файлы POM и JAR по следующим ссылкам:
maven.google.com/group_path/library/version /library-version.ext
Пример: maven.google.com/android/arch/lifecycle/compiler/1.0.0/compiler-1. 0.0.pom.
Офлайн-хранилище из SDK Manager
Если библиотека недоступна в репозитории Google Maven (обычно это касается старых версий), скачайте офлайн-пакет Google Repository из SDK Manager.
Затем вы можете добавить эти библиотеки в блок dependencies как обычно.
Офлайн-библиотеки сохраняются в папке android_sdk/extras/.