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

عندما تكون التبعية هي شيء آخر غير مكتبة محلية أو شجرة ملفات، يبحث 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/arch/lifecycle/compiler/1.0.0/compiler-1. 0.0.pom.

المستودع بلا إنترنت من "مدير حِزم تطوير البرامج (SDK)"

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

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

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