مدیریت مخازن راه دور

وقتی وابستگی شما چیزی غیر از یک کتابخانه محلی یا درخت فایل باشد، Gradle به دنبال فایل‌های موجود در هر مخزن آنلاینی می‌گردد که در بلوک dependencyResolutionManagement { repositories {...} } از فایل settings.gradle شما مشخص شده باشد. ترتیبی که هر مخزن را فهرست می‌کنید، ترتیب جستجوی مخازن توسط Gradle را برای هر وابستگی پروژه تعیین می‌کند. به عنوان مثال، اگر یک وابستگی از هر دو مخزن A و B در دسترس باشد و شما ابتدا A را فهرست کنید، Gradle وابستگی را از مخزن A دانلود می‌کند.

By default, new Android Studio projects specify Google's Maven repository , and the Maven central repository as repository locations in the project's settings.gradle file, as shown below:

کاتلین

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 مراجعه کنید.

مخزن Maven گوگل

جدیدترین نسخه‌های کتابخانه‌های اندروید زیر از مخزن Maven گوگل در دسترس هستند:

شما می‌توانید تمام مصنوعات موجود را در فهرست مخزن Maven گوگل مشاهده کنید (برای دسترسی برنامه‌نویسی به زیر مراجعه کنید).

برای افزودن یکی از این کتابخانه‌ها به سیستم خود، مخزن 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 موجود نیست و باید کتابخانه را از مخزن آفلاین دریافت کنید.

دسترسی برنامه‌نویسی‌شده

For programmatic access to Google's Maven artifacts, you can get an XML list of artifact groups from maven.google.com/master-index.xml . Then, for any group, you can view its library names and versions at:

maven.google.com/group_path group_path

برای مثال، کتابخانه‌های گروه 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 را از SDK Manager دانلود کنید.

سپس می‌توانید طبق معمول این کتابخانه‌ها را به بلوک dependencies خود اضافه کنید.

کتابخانه‌های آفلاین در android_sdk /extras/ ذخیره می‌شوند.