जब आपकी डिपेंडेंसी किसी लोकल लाइब्रेरी या फ़ाइल ट्री से अलग होती है, तो 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") } }
ग्रूवी
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 लाइब्रेरी
- स्ट्रक्चर कॉम्पोनेंट लाइब्रेरी
- कंस्ट्रेंट लेआउट लाइब्रेरी
- AndroidX टेस्ट
- डेटाबाइंडिंग लाइब्रेरी
- 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/". } }
ग्रूवी
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 से आर्टफ़ैक्ट ग्रुप की एक्सएमएल सूची देखी जा सकती है. फिर, किसी भी ग्रुप के लिए, आप उसकी लाइब्रेरी के नाम और वर्शन यहां देख सकते हैं:
maven.google.com/group_path/group-index.xml
उदाहरण के लिए, android.Arc.lifecycle ग्रुप की लाइब्रेरी की जानकारी maven.google.com/android/Arc/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 रिपॉज़िटरी पैकेज डाउनलोड करना होगा.
इसके बाद, आप हमेशा की तरह इन लाइब्रेरी को अपने dependencies
ब्लॉक में जोड़ सकते हैं.
ऑफ़लाइन लाइब्रेरी, android_sdk/extras/
में सेव होती हैं.