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

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

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

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

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

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

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

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

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

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

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

अपने ऐप्लिकेशन प्रोजेक्ट में 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. आपको जिस मॉड्यूल में Support Library का इस्तेमाल करना है उसके लिए, मॉड्यूल की 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.

Support Library API का इस्तेमाल करना

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

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

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

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

Support Library की कुछ सुविधाओं को इस्तेमाल करने के बारे में ज़्यादा जानकारी, 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 या उससे ज़्यादा होना चाहिए.