إدارة المستودعات عن بُعد

عندما تكون تبعيتك شيء آخر غير المكتبة المحلية أو شجرة الملفات، يبحث 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:

يمكنك الاطّلاع على جميع العناصر المتاحة في فهرس مستودع 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 في الوحدة. على سبيل المثال، تبدو مكتبة التطبيقات على النحو التالي:

Kotlin


dependencies {
    implementation("com.android.support:appcompat-v7:28.0.0")
}

رائع


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/rc/lifecycle/compiler/1.0.0/compiler-1. 0.0.pom.

مستودع بلا اتصال بالإنترنت من "مدير SDK"

بالنسبة إلى المكتبات غير المتوفّرة من مستودع Google Maven (إصدارات المكتبة القديمة عادةً)، عليك تنزيل حزمة Google Repository بلا اتصال بالإنترنت من مدير SDK.

بعد ذلك، يمكنك إضافة هذه المكتبات إلى مجموعة dependencies كالمعتاد.

يتم حفظ المكتبات المتوفّرة بلا إنترنت في android_sdk/extras/.