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

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

تحدّد مشاريع "استوديو Android" الجديدة تلقائيًا مستودع 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 الخاص بالوحدة. على سبيل المثال، مكتبة التطبيقات يبدو كما يلي:

Kotlin

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

Groovy

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/