هنگامی که وابستگی شما چیزی غیر از یک کتابخانه محلی یا درخت فایل است، 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 در دسترس هستند:
- کتابخانه های AndroidX
- کتابخانه اجزای معماری
- کتابخانه چیدمان محدودیت
- تست اندروید ایکس
- کتابخانه Databinding
- کتابخانه برنامه فوری اندروید
- سیستم عامل بپوشید
- خدمات گوگل پلی
- کتابخانه صورتحساب Google Play
- Firebase
میتوانید تمام مصنوعات موجود را در فهرست مخزن 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 Repository آفلاین را از مدیر SDK دانلود کنید.
سپس می توانید طبق معمول این کتابخانه ها را به بلوک dependencies
خود اضافه کنید.
کتابخانه های آفلاین در android_sdk /extras/
ذخیره می شوند.