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

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

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

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

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

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

सहायता लाइब्रेरी अब Google की Maven रिपॉज़िटरी के ज़रिए उपलब्ध हैं. अब 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 API का इस्तेमाल करना

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

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

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

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

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

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

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

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