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

ध्यान दें: 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 डेवलपर के लिए उपलब्ध ट्रेनिंग क्लास, गाइड, और सैंपल में दी गई है. अलग-अलग सपोर्ट लाइब्रेरी की क्लास और तरीकों के बारे में ज़्यादा जानकारी के लिए, एपीआई के रेफ़रंस में 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 प्राथमिकता सहायता लाइब्रेरी और v17 लीनबैक लाइब्रेरी, दोनों शामिल हैं, तो आपके SDK टूल का कम से कम वर्शन 17 या उसके बाद का होना चाहिए.