सहायता लाइब्रेरी सेटअप करना

ध्यान दें: Android 9.0 (एपीआई लेवल 28) के रिलीज़ होने के साथ ही, सपोर्ट लाइब्रेरी का नया वर्शन भी रिलीज़ हुआ है. इसे AndroidX कहा जाता है. यह Jetpack का हिस्सा है. AndroidX लाइब्रेरी में, मौजूदा सपोर्ट लाइब्रेरी शामिल होती है. साथ ही, इसमें Jetpack के नए कॉम्पोनेंट भी शामिल होते हैं.

हालांकि, सहायता लाइब्रेरी का इस्तेमाल जारी रखा जा सकता है. ऐतिहासिक कलाकृतियां (वे कलाकृतियां जिनका वर्शन 27 और इससे पहले का है और जिन्हें android.support.* के तौर पर पैकेज किया गया है) Google Maven पर उपलब्ध रहेंगी. हालाँकि, लाइब्रेरी से जुड़े सभी नए डेवलपमेंट, AndroidX लाइब्रेरी में होंगे.

हमारा सुझाव है कि सभी नए प्रोजेक्ट में AndroidX लाइब्रेरी का इस्तेमाल करें. आपको मौजूदा प्रोजेक्ट को भी AndroidX पर माइग्रेट करना चाहिए.

अपने डेवलपमेंट प्रोजेक्ट में Android Support Libraries को सेट अप करने का तरीका, इस बात पर निर्भर करता है कि आपको किन सुविधाओं का इस्तेमाल करना है और आपको अपने ऐप्लिकेशन के साथ Android प्लैटफ़ॉर्म के किन वर्शन को सपोर्ट करना है.

इस दस्तावेज़ में, सपोर्ट लाइब्रेरी पैकेज डाउनलोड करने और अपने डेवलपमेंट एनवायरमेंट में लाइब्रेरी जोड़ने का तरीका बताया गया है.

अब सपोर्ट लाइब्रेरी, Google के मेवन रिपॉज़िटरी के ज़रिए उपलब्ध हैं. अब एसडीके मैनेजर के ज़रिए लाइब्रेरी डाउनलोड करने की सुविधा उपलब्ध नहीं है. इसे जल्द ही हटा दिया जाएगा..

सपोर्ट लाइब्रेरी चुनना

अपने ऐप्लिकेशन में सपोर्ट लाइब्रेरी जोड़ने से पहले, तय करें कि आपको कौनसी सुविधाएं शामिल करनी हैं और आपको Android के किन वर्शन के लिए सहायता देनी है. अलग-अलग लाइब्रेरी की सुविधाओं के बारे में ज़्यादा जानने के लिए, सपोर्ट लाइब्रेरी की सुविधाएं लेख पढ़ें.

सपोर्ट लाइब्रेरी जोड़ना

Support Library का इस्तेमाल करने के लिए, आपको अपने ऐप्लिकेशन के प्रोजेक्ट की क्लासपाथ डिपेंडेंसी में बदलाव करना होगा. यह बदलाव, डेवलपमेंट एनवायरमेंट में करना होगा. आपको हर उस सपोर्ट लाइब्रेरी के लिए यह तरीका अपनाना होगा जिसका आपको इस्तेमाल करना है.

अपने ऐप्लिकेशन प्रोजेक्ट में सपोर्ट लाइब्रेरी जोड़ने के लिए:

  1. अपने प्रोजेक्ट की settings.gradle फ़ाइल में, 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'
            // }
        }
    }
  2. आपको जिस मॉड्यूल में सपोर्ट लाइब्रेरी का इस्तेमाल करना है उसके लिए, मॉड्यूल की build.gradle फ़ाइल के dependencies ब्लॉक में लाइब्रेरी जोड़ें. उदाहरण के लिए, v4 core-utils लाइब्रेरी जोड़ने के लिए, यह जोड़ें:
    dependencies {
        ...
        implementation "com.android.support:support-core-utils:28.0.0"
    }

चेतावनी: डाइनैमिक डिपेंडेंसी (उदाहरण के लिए, palette-v7:23.0.+) का इस्तेमाल करने से, वर्शन अपडेट हो सकते हैं और रिग्रेशन से जुड़ी समस्याएं हो सकती हैं. हमारा सुझाव है कि आप लाइब्रेरी का वर्शन साफ़ तौर पर बताएं. उदाहरण के लिए, palette-v7:28.0.0.

सपोर्ट लाइब्रेरी API का इस्तेमाल करना

आम तौर पर, मौजूदा फ़्रेमवर्क एपीआई के साथ काम करने वाली सपोर्ट लाइब्रेरी क्लास का नाम, फ़्रेमवर्क क्लास के नाम जैसा ही होता है. हालांकि, ये android.support क्लास पैकेज में मौजूद होती हैं या इनके नाम के आखिर में *Compat सफ़िक्स होता है.

चेतावनी: सपोर्ट लाइब्रेरी की क्लास का इस्तेमाल करते समय, पक्का करें कि आपने क्लास को सही पैकेज से इंपोर्ट किया हो. उदाहरण के लिए, ActionBar क्लास लागू करते समय:

  • android.support.v7.app.ActionBar सपोर्ट लाइब्रेरी का इस्तेमाल करते समय.
  • android.app.ActionBar का इस्तेमाल सिर्फ़ एपीआई लेवल 11 या उसके बाद के वर्शन के लिए किया जा सकता है.

ध्यान दें: अपने ऐप्लिकेशन प्रोजेक्ट में सपोर्ट लाइब्रेरी को शामिल करने के बाद, हमारा सुझाव है कि आप रिलीज़ करने से पहले, अपने ऐप्लिकेशन को छोटा करें, उसे उलझाएं, और ऑप्टिमाइज़ करें. कोड को उलझाने की सुविधा से सोर्स कोड को सुरक्षित रखने के साथ-साथ, कोड छोटा करने की सुविधा का इस्तेमाल करके, ऐप्लिकेशन में शामिल की गई किसी भी लाइब्रेरी से इस्तेमाल न होने वाली क्लास हटाई जा सकती हैं. इससे, ऐप्लिकेशन का डाउनलोड साइज़ कम से कम रहता है.

सपोर्ट लाइब्रेरी की कुछ सुविधाओं को इस्तेमाल करने के बारे में ज़्यादा जानकारी, Android डेवलपर ट्रेनिंग क्लास, गाइड, और सैंपल में दी गई है. अलग-अलग Support Library क्लास और तरीकों के बारे में ज़्यादा जानने के लिए, android.support एपीआई रेफ़रंस में पैकेज देखें.

मेनिफ़ेस्ट में एलान से जुड़े बदलाव

अगर आपको Support Library की मदद से, अपने मौजूदा ऐप्लिकेशन को Android API के पुराने वर्शन के साथ काम करने लायक बनाना है, तो अपने ऐप्लिकेशन के मेनिफ़ेस्ट को अपडेट करना न भूलें. खास तौर पर, आपको मेनिफ़ेस्ट में मौजूद <uses-sdk> टैग के android:minSdkVersion एलिमेंट को नए और कम वर्शन नंबर पर अपडेट करना होगा. ऐसा नीचे दिए गए तरीके से करें:

  <uses-sdk
      android:minSdkVersion="14"
      android:targetSdkVersion="23" />

मेनिफ़ेस्ट सेटिंग से Google Play को पता चलता है कि आपका ऐप्लिकेशन, Android 4.0 (एपीआई लेवल 14) और इसके बाद के वर्शन वाले डिवाइसों पर इंस्टॉल किया जा सकता है.

अगर Gradle बिल्ड फ़ाइलों का इस्तेमाल किया जा रहा है, तो बिल्ड फ़ाइल में मौजूद minSdkVersion सेटिंग, मेनिफ़ेस्ट सेटिंग को बदल देती है.

plugins {
  id 'com.android.application'
}

android {
    ...

    defaultConfig {
        minSdkVersion 16
        ...
    }
    ...
}

इस मामले में, बिल्ड फ़ाइल की सेटिंग से Google Play को यह पता चलता है कि आपके ऐप्लिकेशन के डिफ़ॉल्ट बिल्ड वैरिएंट को Android 4.1 (एपीआई लेवल 16) और इसके बाद के वर्शन वाले डिवाइसों पर इंस्टॉल किया जा सकता है. बिल्ड वैरिएंट के बारे में ज़्यादा जानकारी के लिए, बिल्ड सिस्टम की खास जानकारी देखें.

ध्यान दें: अगर कई सपोर्ट लाइब्रेरी शामिल की जा रही हैं, तो एसडीके टूल का कम से कम वर्शन, बताई गई किसी भी लाइब्रेरी के लिए ज़रूरी सबसे नया वर्शन होना चाहिए. उदाहरण के लिए, अगर आपके ऐप्लिकेशन में v14 Preference Support library और v17 Leanback library, दोनों शामिल हैं, तो आपके ऐप्लिकेशन का कम से कम एसडीके वर्शन 17 या उससे ज़्यादा होना चाहिए.