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