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

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

به‌طور پیش‌فرض، پروژه‌های Android Studio جدید مخزن Maven Google و مخزن مرکزی 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 Repositories مراجعه کنید.

مخزن Maven گوگل

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

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

برای افزودن یکی از این کتابخانه ها به ساخت خود، مخزن Maven Google را در فایل سطح بالای 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.6.1'
}

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

برای کتابخانه‌هایی که از مخزن Google Maven در دسترس نیستند (معمولاً نسخه‌های قدیمی‌تر کتابخانه)، باید بسته Google Repository آفلاین را از مدیر SDK دانلود کنید.

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

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