عندما يكون العنصر المُستخدَم بشكلٍ مُفروض غير مكتبة محلية أو شجرة ملفات، يبحث Gradle عن الملفات في أي مستودعات على الإنترنت تم تحديدها في كتلة
dependencyResolutionManagement { repositories {...} }
من ملف
settings.gradle
. يحدِّد الترتيب الذي تُدرِج به كل مستودع ملف
الترتيب الذي يبحث به Gradle في المستودعات عن كل عنصر يعتمد عليه المشروع.
على سبيل المثال، إذا كان المكوّن الإضافي متوفّرًا من المستودعَين "أ" و"ب"، وكنت قد أدرجت المستودع "أ" أولاً، نزِّل Gradle المكوّن الإضافي من المستودع "أ".
تحدد مشاريع "استوديو Android" الجديدة تلقائيًا مستودع Maven من Google و
المستودع المركزي في Maven كموقعَي
المستودع في ملف settings.gradle
الخاص بالمشروع، كما هو موضّح أدناه:
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
رائع
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() } }
رائع
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") } }
رائع
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
- مكتبة عناصر البنية
- مكتبة Constraint Layout
- AndroidX Test
- مكتبة ربط البيانات
- مكتبة تطبيقات 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/". } }
رائع
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") }
رائع
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/
.