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

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

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

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

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

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

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

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

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

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

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

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

  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) के बारे में साफ़ तौर पर बताएं.

Support Library के एपीआई का इस्तेमाल करना

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

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

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

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

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

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

अगर Support Library की मदद से, अपने मौजूदा ऐप्लिकेशन को Android एपीआई के पुराने वर्शन के साथ काम करने लायक बनाया जा रहा है, तो अपने ऐप्लिकेशन का मेनिफ़ेस्ट अपडेट करना न भूलें. खास तौर पर, आपको मेनिफ़ेस्ट में <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) और इसके बाद के वर्शन वाले डिवाइसों पर इंस्टॉल किया जा सकता है. बिल्ड वैरिएंट के बारे में ज़्यादा जानकारी के लिए, बिल्ड सिस्टम की खास जानकारी देखें.

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