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