जब आपकी डिपेंडेंसी, लोकल लाइब्रेरी या फ़ाइल ट्री के अलावा कुछ और होती है, तो Gradle आपकी settings.gradle फ़ाइल के dependencyResolutionManagement { repositories {...} } ब्लॉक में बताई गई ऑनलाइन रिपॉज़िटरी में फ़ाइलें ढूंढता है. हर रिपॉज़िटरी को जिस क्रम में लिस्ट किया जाता है उससे यह तय होता है कि Gradle, हर प्रोजेक्ट डिपेंडेंसी के लिए रिपॉज़िटरी को किस क्रम में खोजेगा.
उदाहरण के लिए, अगर कोई डिपेंडेंसी, रिपॉज़िटरी A और B, दोनों से उपलब्ध है और आपने सूची में पहले A को रखा है, तो Gradle, रिपॉज़िटरी A से डिपेंडेंसी डाउनलोड करता है.
डिफ़ॉल्ट रूप से, नए Android Studio प्रोजेक्ट में Google की Maven रिपॉज़िटरी और 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() } }
इसके अलावा, खास मेवन या आइवी रिपॉज़िटरी का एलान इस तरह किया जा सकता है:
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 रिपॉज़िटरी की गाइड देखें.
Google की Maven रिपॉज़िटरी
इन Android लाइब्रेरी के सबसे नए वर्शन, Google की Maven रिपॉज़िटरी में उपलब्ध हैं:
- AndroidX लाइब्रेरी
- आर्किटेक्चर कॉम्पोनेंट लाइब्रेरी
- Constraint Layout Library
- AndroidX Test
- डेटाबाइंडिंग लाइब्रेरी
- Android Instant App Library
- Wear OS
- Google Play services
- Google Play Billing Library
- Firebase
Google की Maven रिपॉज़िटरी के इंडेक्स पर, उपलब्ध सभी आर्टफ़ैक्ट देखे जा सकते हैं. प्रोग्राम के हिसाब से ऐक्सेस के लिए, नीचे देखें.
अपने बिल्ड में इनमें से कोई लाइब्रेरी जोड़ने के लिए, अपनी टॉप-लेवल build.gradle.kts फ़ाइल में Google की Maven रिपॉज़िटरी शामिल करें:
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 library कुछ ऐसी दिखती है:
Kotlin
dependencies { implementation("com.android.support:appcompat-v7:28.0.0") }
Groovy
dependencies { implementation 'androidx.appcompat:appcompat:1.7.0' }
हालांकि, अगर ऊपर बताई गई लाइब्रेरी के पुराने वर्शन का इस्तेमाल करने की कोशिश की जा रही है और आपकी डिपेंडेंसी काम नहीं करती है, तो इसका मतलब है कि वह Maven रिपॉज़िटरी में उपलब्ध नहीं है. ऐसे में, आपको लाइब्रेरी को ऑफ़लाइन रिपॉज़िटरी से डाउनलोड करना होगा.
प्रोग्राम के हिसाब से, अपने-आप होने वाली प्रोसेस का ऐक्सेस
Google के मेवन आर्टफ़ैक्ट को प्रोग्राम के हिसाब से ऐक्सेस करने के लिए, 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.
एसडीके मैनेजर से ऑफ़लाइन रिपॉज़िटरी
Google Maven रिपॉज़िटरी में उपलब्ध न होने वाली लाइब्रेरी (आम तौर पर, लाइब्रेरी के पुराने वर्शन) के लिए, आपको एसडीके मैनेजर से ऑफ़लाइन Google रिपॉज़िटरी पैकेज डाउनलोड करना होगा.
इसके बाद, इन लाइब्रेरी को हमेशा की तरह अपने dependencies ब्लॉक में जोड़ा जा सकता है.
ऑफ़लाइन लाइब्रेरी, android_sdk/extras/ में सेव की जाती हैं.