जब आपकी डिपेंडेंसी, लोकल लाइब्रेरी या फ़ाइल ट्री के अलावा कोई और चीज़ होती है, तो Gradle उन फ़ाइलों को उन ऑनलाइन रिपॉज़िटरी में खोजता है जो आपकी dependencyResolutionManagement { repositories {...} } फ़ाइल के dependencyResolutionManagement { repositories {...} } ब्लॉक में दी गई हैं.settings.gradle आपने जिस क्रम में हर रिपॉज़िटरी को लिस्ट किया है उसी क्रम में Gradle, हर प्रोजेक्ट डिपेंडेंसी के लिए रिपॉज़िटरी खोजता है.
उदाहरण के लिए, अगर कोई डिपेंडेंसी, रिपॉज़िटरी A और B, दोनों से उपलब्ध है और आपने A को पहले लिस्ट किया है, तो Gradle, रिपॉज़िटरी A से डिपेंडेंसी डाउनलोड करेगा.
डिफ़ॉल्ट रूप से, Android Studio के नए प्रोजेक्ट में Google की Maven रिपॉज़िटरी और Maven Central रिपॉज़िटरी को प्रोजेक्ट की 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 रिपॉज़िटरी
Google की मेवन रिपॉज़िटरी में, इन Android लाइब्रेरी के सबसे नए वर्शन उपलब्ध हैं:
- AndroidX लाइब्रेरी
- Architecture Components Library
- ConstraintLayout लाइब्रेरी
- AndroidX Test
- डेटा बाइंडिंग लाइब्रेरी
- Android Instant App Library
- Wear OS
- Google Play services
- Google Play Billing Library
- Firebase
Google की Maven रिपॉज़िटरी इंडेक्स पर जाकर, सभी उपलब्ध आर्टफ़ैक्ट देखे जा सकते हैं (प्रोग्राम के हिसाब से ऐक्सेस करने के लिए, नीचे दिया गया सेक्शन देखें).
इनमें से किसी लाइब्रेरी को अपनी बिल्ड में जोड़ने के लिए, Google की Maven रिपॉज़िटरी को अपनी टॉप-लेवल 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 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.
SDK Manager से ऑफ़लाइन रिपॉज़िटरी
Google Maven रिपॉज़िटरी में उपलब्ध न होने वाली लाइब्रेरी (आम तौर पर, लाइब्रेरी के पुराने वर्शन) के लिए, आपको SDK Manager से, ऑफ़लाइन Google Repository पैकेज डाउनलोड करना होगा.
इसके बाद, इन लाइब्रेरी को अपने dependencies ब्लॉक में हमेशा की तरह जोड़ा जा सकता है.
ऑफ़लाइन लाइब्रेरी, android_sdk/extras/ में सेव की जाती हैं.