عندما تكون الاعتمادية شيئًا آخر غير مكتبة محلية أو شجرة ملفات، يبحث Gradle عن الملفات في أي مستودعات على الإنترنت يتم تحديدها في قسم dependencyResolutionManagement { repositories {...} } من ملف settings.gradle. يحدّد ترتيب إدراج كل مستودع الترتيب الذي يبحث به Gradle في المستودعات عن كل اعتمادية للمشروع.
على سبيل المثال، إذا كانت هناك اعتمادية متاحة من المستودعَين A وB، وأدرجت A أولاً، سينزّل Gradle الاعتمادية من المستودع A.
تحدّد مشاريع "استوديو Android" الجديدة تلقائيًا مستودع Maven من Google ومستودع Maven المركزي كمواقع للمستودعات في ملف settings.gradle الخاص بالمشروع، كما هو موضّح أدناه:
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
Groovy
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
إذا كنت تريد شيئًا من مستودع محلي، استخدِم mavenLocal():
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() mavenLocal() } }
Groovy
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() mavenLocal() } }
يمكنك أيضًا تعريف مستودعات Maven أو Ivy معيّنة على النحو التالي:
Kotlin
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") } }
Groovy
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:
- AndroidX Libraries
- Architecture Components Library
- Constraint Layout Library
- AndroidX Test
- Databinding Library
- مكتبة "تطبيقات Android الفورية"
- Wear OS
- خدمات Google Play
- Google Play Billing Library
- Firebase
يمكنك الاطّلاع على جميع العناصر المتاحة في فهرس مستودع Maven من Google (راجِع الوصول الآلي أدناه).
لإضافة إحدى هذه المكتبات إلى الإصدار، أدرِج مستودع Maven من Google في ملف build.gradle.kts ذي المستوى الأعلى:
Kotlin
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/". } }
Groovy
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 على النحو التالي:
Kotlin
dependencies { implementation("com.android.support:appcompat-v7:28.0.0") }
Groovy
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 Manager
بالنسبة إلى المكتبات غير المتوفّرة من مستودع Maven من Google (عادةً ما تكون إصدارات المكتبة قديمة)، عليك تنزيل حزمة مستودع Google المتاحة بلا إنترنت من SDK Manager.
بعد ذلك، يمكنك إضافة هذه المكتبات إلى قسم dependencies كالمعتاد.
يتم حفظ المكتبات المتاحة بلا إنترنت في
android_sdk/extras/.