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

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

به‌طور پیش‌فرض، پروژه‌های جدید «استودیو Android» مخزن 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 را ببینید.

مخزن Maven متعلق به Google

جدیدترین نسخه‌های کتابخانه‌های Android زیر از مخزن 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.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»

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

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

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