जब आपकी डिपेंडेंसी, लोकल लाइब्रेरी या फ़ाइल ट्री के अलावा कुछ और होती है, तो 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() } }
इसके अलावा, 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 रिपॉज़िटरी की गाइड देखें.
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 आर्टफ़ैक्ट को प्रोग्राम के हिसाब से ऐक्सेस करने के लिए, 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/ में सेव की जाती हैं.