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

عندما يكون العنصر المُستخدَم بشكلٍ مُفروض غير مكتبة محلية أو شجرة ملفات، يبحث 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 في الوحدة. على سبيل المثال، مكتبة 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/.