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

عندما تكون التبعية شيئًا آخر غير مكتبة محلية أو شجرة ملفات، يبحث Gradle عن الملفات في أي مستودعات على الإنترنت يتم تحديدها في القسم dependencyResolutionManagement { repositories {...} } من ملف settings.gradle. يحدّد ترتيب إدراج كل مستودع الترتيب الذي يبحث به Gradle في المستودعات عن كل تبعية للمشروع. على سبيل المثال، إذا كانت إحدى التبعيات متاحة من المستودعَين A وB، وأدرجت A أولاً، سينزّل Gradle التبعية من المستودع A.

تحدّد مشاريع Android Studio الجديدة تلقائيًا مستودع 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:

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

Kotlin

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

Groovy

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 Manager

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

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

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