عندما تكون التبعية شيء آخر غير مكتبة محلية أو شجرة ملفات،
تبحث Gradle عن الملفات الموجودة في أي مستودعات عبر الإنترنت يتم تحديدها في
جزء واحد (dependencyResolutionManagement { repositories {...} }
) من
ملف settings.gradle
. يحدّد الترتيب الذي تدرج به كل مستودع
بالترتيب الذي تبحث به Gradle في المستودعات لكل تبعية للمشروع.
على سبيل المثال، إذا كانت التبعية متوفرة من كل من المستودعين "أ" و"ب"،
القائمة 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
- مكتبة مكونات البنية
- مكتبة التنسيقات المحدودة
- اختبار AndroidX
- مكتبة ربط البيانات
- مكتبة تطبيقات Android الفورية
- نظام التشغيل Wear OS
- خدمات Google Play
- مكتبة الفوترة في Google Play
- 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
الخاص بالوحدة.
على سبيل المثال، مكتبة التطبيقات
يبدو كما يلي:
Kotlin
dependencies { implementation("com.android.support:appcompat-v7:28.0.0") }
Groovy
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 بلا اتصال من مدير حِزم تطوير البرامج (SDK)
بعد ذلك، يمكنك إضافة هذه المكتبات إلى مجموعة "dependencies
" كالمعتاد.
يتم حفظ المكتبات غير المتصلة بالإنترنت في
android_sdk/extras/