अगर आपकी डिपेंडेंसी, स्थानीय लाइब्रेरी या फ़ाइल ट्री के अलावा कोई और है, तो 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 रिपॉज़िटरी
Google की Maven रिपॉज़िटरी पर, Android की इन लाइब्रेरी के सबसे नए वर्शन उपलब्ध हैं:
- AndroidX लाइब्रेरी
- आर्किटेक्चर कॉम्पोनेंट लाइब्रेरी
- Constraint Layout लाइब्रेरी
- AndroidX Test
- Databinding लाइब्रेरी
- Android Instant App लाइब्रेरी
- Wear OS
- Google Play services
- Google Play Billing लाइब्रेरी
- 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 लाइब्रेरी
कुछ इस तरह दिखती है:
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 से आर्टफ़ैक्ट ग्रुप की 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.
एसडीके मैनेजर से ऑफ़लाइन रिपॉज़िटरी
इसके बाद, इन लाइब्रेरी को अपने dependencies ब्लॉक में हमेशा की तरह जोड़ा जा सकता है.
ऑफ़लाइन लाइब्रेरी,
android_sdk/extras/ में सेव की जाती हैं.