Управление удаленными репозиториями

Если ваша зависимость отличается от локальной библиотеки или дерева файлов, 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:

Вы можете просмотреть все доступные артефакты в индексе репозитория 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:

Вы можете просмотреть все доступные артефакты в индексе репозитория 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/ .