<uses-sdk>

Google Play, <uses-sdk> का इस्तेमाल करता है ऐप्लिकेशन मेनिफ़ेस्ट में बताए गए एट्रिब्यूट, जिनका इस्तेमाल आपके ऐप्लिकेशन को डिवाइसों के हिसाब से फ़िल्टर करने के लिए किया जाता है जो इसके प्लैटफ़ॉर्म वर्शन की ज़रूरी शर्तों को पूरा नहीं करती. इन्हें सेट करने से पहले करने के लिए, पक्का करें कि Google Play के फ़िल्टर.

सिंटैक्स:
<uses-sdk android:minSdkVersion="integer"
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer" />
इसमें शामिल है:
<manifest>
विवरण:

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

इस एलिमेंट का नाम होने के बावजूद, इसका इस्तेमाल एपीआई लेवल की जानकारी देने के लिए किया जाता है, सॉफ़्टवेयर डेवलपमेंट किट (SDK टूल) या Android प्लैटफ़ॉर्म का वर्शन नंबर. एपीआई लेवल हमेशा एक पूर्णांक होता है. यहां से एपीआई लेवल हासिल नहीं किया जा सकता साथ ही, डेटा स्टोर करने के लिए बनाए गए ऐप्लिकेशन का Android वर्शन भी हो सकता है. उदाहरण के लिए, यह मेजर वर्शन या मेजर और माइनर वर्शन का कुल योग.

इसके बारे में दस्तावेज़ भी पढ़ें ऐप्लिकेशन के अलग-अलग वर्शन बनाना.

विशेषताएं:
android:minSdkVersion
एपीआई लेवल के कम से कम लेवल की जानकारी देने वाला पूर्णांक ऐप्लिकेशन को चलाने के लिए. Android सिस्टम उपयोगकर्ता को इंस्टॉल करने से रोकता है ऐप्लिकेशन, जब सिस्टम का एपीआई लेवल, इसमें बताई गई वैल्यू से कम हो इस एट्रिब्यूट की वैल्यू सबमिट करें. इस एट्रिब्यूट के बारे में हमेशा जानकारी दें.

चेतावनी: अगर आप यह एलान नहीं करते हैं, तो विशेषता है, तो सिस्टम "1" का डिफ़ॉल्ट मान मान लेता है, जिसका मतलब है कि ऐप्लिकेशन, Android के सभी वर्शन के साथ संगत है. अगर यह नहीं है और आपने उचित minSdkVersion का एलान नहीं किया है, फिर, काम न करने वाले एपीआई लेवल वाले किसी सिस्टम पर इंस्टॉल किए जाने पर, ऐप्लिकेशन अनुपलब्ध API ऐक्सेस करने का प्रयास करते समय रनटाइम के दौरान क्रैश हो जाता है. इसके लिए इसलिए, आपके पास एपीआई लेवल की मदद से, minSdkVersion एट्रिब्यूट की वैल्यू सबमिट करें.

android:targetSdkVersion
ऐप्लिकेशन के टारगेट किए गए एपीआई लेवल को बताने वाला पूर्णांक. अगर यह नीति सेट नहीं की जाती है, तो डिफ़ॉल्ट सेटिंग minSdkVersion को दी गई वैल्यू के बराबर है.

इस एट्रिब्यूट से सिस्टम को पता चलता है कि आपने टारगेट वर्शन के साथ टेस्ट किया है और सिस्टम, आपके ऐप्लिकेशन के साथ काम करने के साथ-साथ उसके साथ काम करने के लिए, किसी भी तरह का काम करने की सुविधा नहीं देता टारगेट किया गया वर्शन है. यह ऐप्लिकेशन अब भी निचले वर्शन (minSdkVersion तक) पर चल सकता है.

जैसे-जैसे Android हर नए वर्शन में आगे बढ़ता जा रहा है, कुछ चीज़ों और उनके काम करने के तरीके में बदलाव आ सकता है. हालांकि, अगर प्लैटफ़ॉर्म का एपीआई लेवल आपके ऐप्लिकेशन के targetSdkVersion में बताए गए वर्शन से ज़्यादा है, तो सिस्टम साथ काम करने से जुड़ी सुविधाएं चालू कर सकता है. इससे आपका ऐप्लिकेशन आपकी उम्मीद के मुताबिक़ काम कर रहा है. इस तरह के काम करने की सुविधा को बंद किया जा सकता है एपीआई से मैच करने के लिए, targetSdkVersion तय करके व्यवहार उस प्लैटफ़ॉर्म के लेवल पर पहुंच सकता है जिस पर वह चल रहा है.

उदाहरण के लिए, इस वैल्यू को "11" पर सेट करना या उससे ज़्यादा Android 3.0 या Android 3.0 या बढ़ाओ और स्क्रीन की सुविधा बंद भी कर देता हो कंपैटबिलिटी मोड, जब बड़ी स्क्रीन पर चलाया जा रहा हो. इसकी वजह यह है कि यह एपीआई लेवल 11 के साथ काम करता है बड़ी स्क्रीन पर काम करता है.

आपकी सेट की गई वैल्यू के आधार पर, सिस्टम कई तरह के काम करने के तरीके चालू कर सकता है इस एट्रिब्यूट की वैल्यू सबमिट करें. इनमें से कई कार्रवाइयों के बारे में प्लैटफ़ॉर्म के वर्शन में बताया गया है Build.VERSION_CODES संदर्भ में.

हर Android रिलीज़ के साथ-साथ अपने ऐप्लिकेशन को बनाए रखने के लिए, इस एट्रिब्यूट की वैल्यू को नए एपीआई लेवल से मैच कराएं. इसके बाद, अपने ऐप्लिकेशन को इस पर अच्छी तरह से टेस्ट करें: से संबंधित प्लैटफ़ॉर्म वर्शन हो सकता है.

पेश है: एपीआई लेवल 4

android:maxSdkVersion
ऐप्लिकेशन के ज़्यादा से ज़्यादा एपीआई लेवल को बताने वाला पूर्णांक चलाने के लिए डिज़ाइन किया गया है.

Android 1.5, 1.6, 2.0, और 2.0.1 में, सिस्टम इस वैल्यू की जांच करता है किसी ऐप्लिकेशन को इंस्टॉल करते समय और ऐप्लिकेशन को फिर से सत्यापित करते समय एट्रिब्यूट के बाद होता है. दोनों ही मामलों में, अगर ऐप्लिकेशन की maxSdkVersion एट्रिब्यूट, उस एपीआई लेवल से कम है जिसका इस्तेमाल किया गया है तो सिस्टम ऐप्लिकेशन को इंस्टॉल नहीं करने देता. सिस्टम अपडेट होने के बाद, दोबारा जांच करने पर, डिवाइस से आपकी ऐप्लिकेशन हटाता है.

यह दिखाने के लिए कि यह विशेषता सिस्टम के बाद आपके ऐप्लिकेशन को कैसे प्रभावित कर सकती है के लिए, नीचे दिए गए उदाहरण देखें:

ऐसा ऐप्लिकेशन जिसमें maxSdkVersion="5" की जानकारी दी गई हो मेनिफ़ेस्ट को Google Play पर पब्लिश किया गया है. ऐसा उपयोगकर्ता जिसका डिवाइस Android पर चल रहा है 1.6 (एपीआई लेवल 4) में, ऐप्लिकेशन डाउनलोड और इंस्टॉल होता है. कुछ हफ़्तों के बाद, उपयोगकर्ता को Android 2.0 (एपीआई लेवल 5) पर ओवर-द-एयर सिस्टम अपडेट मिलता है. इसके बाद अपडेट इंस्टॉल है, तो सिस्टम जांच करता है कि maxSdkVersion पर जाकर पुष्टि करने की प्रोसेस फिर से पूरी कर ली है.

कॉन्टेंट बनाने सामान्य तरीके से काम करता है. हालांकि, कुछ समय बाद, डिवाइस को Android 2.0.1 (एपीआई लेवल 6) पर, इस बार कोई दूसरा सिस्टम अपडेट. इसके बाद को अपडेट करता है, तो सिस्टम अब ऐप्लिकेशन को दोबारा सत्यापित नहीं कर सकता क्योंकि सिस्टम का खुद का एपीआई लेवल (6) अब ऐप्लिकेशन के साथ काम करने वाले एपीआई लेवल से ज़्यादा है (5). सिस्टम, ऐप्लिकेशन को उपयोगकर्ता को दिखने से रोकता है, इसमें डिवाइस से हटाया जा सकता है.

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

पेश है: एपीआई लेवल 4

Android के कुछ वर्शन (Android 2.0.1 के बाद) के दौरान maxSdkVersion एट्रिब्यूट को जांचें या लागू करें इंस्टॉल करने या दोबारा पुष्टि करने के लिए कहा जाता है. Google Play इस एट्रिब्यूट का इस्तेमाल करना जारी रखेगा हालांकि, फ़िल्टर के रूप में उपयोगकर्ताओं को उनके लिए उपलब्ध डाउनलोड करें.
इसमें पेश किया गया:
एपीआई लेवल 1

एपीआई लेवल क्या है?

एपीआई लेवल एक पूर्णांक वैल्यू है, जो फ़्रेमवर्क एपीआई की खास तौर पर पहचान करती है Android प्लैटफ़ॉर्म के किसी वर्शन के ज़रिए उपलब्ध कराया गया संशोधन.

Android प्लैटफ़ॉर्म एक फ़्रेमवर्क एपीआई उपलब्ध कराता है, जिसका इस्तेमाल ऐप्लिकेशन इन कामों के लिए कर सकते हैं मौजूदा Android सिस्टम से इंटरैक्ट करें. फ़्रेमवर्क एपीआई में ये शामिल हैं:

  • पैकेज और क्लास का मुख्य सेट
  • मेनिफ़ेस्ट फ़ाइल का एलान करने के लिए, एक्सएमएल एलिमेंट और एट्रिब्यूट का एक सेट
  • संसाधनों का एलान करने और उन्हें ऐक्सेस करने के लिए, एक्सएमएल एलिमेंट और एट्रिब्यूट का एक सेट
  • इंटेंट का सेट
  • ऐप्लिकेशन, अनुमतियों के साथ-साथ जिन अनुमतियों का अनुरोध कर सकते हैं उनका सेट नीति उल्लंघन ठीक करने के तरीके (एनफ़ोर्समेंट)

Android प्लैटफ़ॉर्म के हर वर्शन में, YouTube ऐप्लिकेशन में किए गए अपडेट शामिल हो सकते हैं Android ऐप्लिकेशन फ़्रेमवर्क एपीआई, जो यह डिलीवर करता है.

फ़्रेमवर्क एपीआई के अपडेट इस तरह से डिज़ाइन किए जाते हैं कि नया एपीआई एपीआई के पुराने वर्शन के साथ काम करता है. इसका मतलब है कि एपीआई में हुए ज़्यादातर बदलाव ये अतिरिक्त सुविधाएं हैं और नई या रिप्लेसमेंट फ़ंक्शन उपलब्ध कराती हैं. एपीआई के हिस्से के तौर पर अपग्रेड किए गए हैं, और पुराने बदले गए पार्ट बहिष्कृत कर दिए गए हैं, लेकिन उन्हें हटाया नहीं गया है, इसलिए कि मौजूदा ऐप्लिकेशन अब भी उनका इस्तेमाल कर सकें.

बहुत कम मामलों में, API के कुछ हिस्सों में बदलाव किए जाते हैं या उन्हें हटा दिया जाता है, हालांकि आम तौर पर ऐसे बदलाव इसका इस्तेमाल सिर्फ़ एपीआई की क्षमता और ऐप्लिकेशन या सिस्टम की सुरक्षा के लिए किया जाता है. सभी पहले के बदलावों से अन्य एपीआई वाले हिस्से बिना बदलाव.

Android प्लैटफ़ॉर्म जो फ़्रेमवर्क एपीआई डिलीवर करता है उसे एपीआई लेवल नाम का पूर्णांक आइडेंटिफ़ायर. Android प्लैटफ़ॉर्म का हर वर्शन काम करता है सिर्फ़ एक एपीआई लेवल है. हालांकि, यह पहले के सभी एपीआई लेवल के लिए काम करता है (एपीआई लेवल 1 तक). उपलब्ध कराए गए Android प्लैटफ़ॉर्म की शुरुआती रिलीज़ एपीआई लेवल 1 और इसके बाद की रिलीज़ से एपीआई लेवल बढ़ गया है.

नीचे दी गई टेबल में, एपीआई लेवल की जानकारी दी गई है. Android प्लैटफ़ॉर्म. उन डिवाइसों की संख्या के बारे में जानकारी के लिए जिन्हें हर वर्शन का इस्तेमाल कर रहे हैं, तो डिस्ट्रिब्यूशन डैशबोर्ड देखें.

प्लैटफ़ॉर्म वर्शनAPI स्तरवर्शन_कोडनोट
Android 15 35 VANILLA_ICE_CREAM प्लैटफ़ॉर्म की हाइलाइट
Android 14 34 UPSIDE_DOWN_CAKE प्लैटफ़ॉर्म की हाइलाइट
Android 13 33 TIRAMISU प्लैटफ़ॉर्म की हाइलाइट
Android 12 32 S_V2 प्लैटफ़ॉर्म की हाइलाइट
31 S प्लैटफ़ॉर्म की हाइलाइट
Android 11 30 R प्लैटफ़ॉर्म की हाइलाइट
Android 10 29 Q प्लैटफ़ॉर्म की हाइलाइट
Android 9 28 P प्लैटफ़ॉर्म की हाइलाइट
Android 8.1 27 O_MR1 प्लैटफ़ॉर्म की हाइलाइट
Android 8.0 26 O प्लैटफ़ॉर्म की हाइलाइट
Android 7.1.1
Android 7.1
25 N_MR1 प्लैटफ़ॉर्म की हाइलाइट
Android 7.0 24 N प्लैटफ़ॉर्म की हाइलाइट
Android 6.0 23 M प्लैटफ़ॉर्म की हाइलाइट
Android 5.1 22 LOLLIPOP_MR1 प्लैटफ़ॉर्म हाइलाइट
Android 5.0 21 LOLLIPOP
Android 4.4 वॉट 20 KITKAT_WATCH सिर्फ़ पहने जाने वाले डिवाइसों के लिए KitKat
Android 4.4 19 KITKAT प्लैटफ़ॉर्म हाइलाइट
Android 4.3 18 JELLY_BEAN_MR2 प्लैटफ़ॉर्म हाइलाइट
Android 4.2, 4.2.2 17 JELLY_BEAN_MR1 प्लैटफ़ॉर्म हाइलाइट
Android 4.1, 4.1.1 16 JELLY_BEAN प्लैटफ़ॉर्म हाइलाइट
Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1 प्लैटफ़ॉर्म हाइलाइट
Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH
Android 3.2 13 HONEYCOMB_MR2
Android 3.1.x 12 HONEYCOMB_MR1 प्लैटफ़ॉर्म की हाइलाइट
Android 3.0.x 11 HONEYCOMB प्लैटफ़ॉर्म की हाइलाइट
Android 2.3.4
Android 2.3.3
10 GINGERBREAD_MR1 प्लैटफ़ॉर्म हाइलाइट
Android 2.3.2
Android 2.3.1
Android 2.3
9 GINGERBREAD
Android 2.2.x 8 FROYO प्लैटफ़ॉर्म की हाइलाइट
Android 2.1.x 7 ECLAIR_MR1 प्लैटफ़ॉर्म हाइलाइट
Android 2.0.1 6 ECLAIR_0_1
Android 2.0 5 ECLAIR
Android 1.6 4 DONUT प्लैटफ़ॉर्म की हाइलाइट
Android 1.5 3 CUPCAKE प्लैटफ़ॉर्म की हाइलाइट
Android 1.1 2 BASE_1_1
Android 1.0 1 BASE

Android में एपीआई लेवल का इस्तेमाल

एपीआई लेवल आइडेंटिफ़ायर, आपके ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाने में अहम भूमिका निभाता है उपयोगकर्ताओं और ऐप्लिकेशन डेवलपर के लिए संभावित अनुभव:

  • इसकी मदद से, Android प्लैटफ़ॉर्म यह बता सकता है कि फ़्रेमवर्क एपीआई में ज़्यादा से ज़्यादा कितने बदलाव किए जा सकते हैं सभी काम करती हैं.
  • इससे ऐप्लिकेशन, फ़्रेमवर्क एपीआई के बदलावों के बारे में बता सकते हैं सभी ज़रूरी शर्तें पूरी करता है.
  • इससे सिस्टम को उपयोगकर्ता के डिवाइस पर ऐप्लिकेशन इंस्टॉल करने के बारे में बातचीत करने की सुविधा मिलती है ताकि वर्शन के साथ काम न करने वाले ऐप्लिकेशन इंस्टॉल न हों.

Android प्लैटफ़ॉर्म का हर वर्शन, अपने एपीआई लेवल आइडेंटिफ़ायर को इसमें अंदरूनी तौर पर सेव करता है करने में मदद मिलती है.

ऐप्लिकेशन, फ़्रेमवर्क में दिए गए मेनिफ़ेस्ट एलिमेंट का इस्तेमाल कर सकते हैं एपीआई—<uses-sdk>—सबसे कम और सबसे ज़्यादा एपीआई की जानकारी देने के लिए चलाने में मदद करने वाले लेवल और पसंदीदा एपीआई लेवल उन्हें अलग-अलग ज़रूरतों के हिसाब से डिज़ाइन किया गया है. यह एलिमेंट तीन मुख्य एट्रिब्यूट देता है:

  • android:minSdkVersion: कम से कम एपीआई लेवल जिस पर ऐप्लिकेशन चल सके. डिफ़ॉल्ट वैल्यू "1" है.
  • android:targetSdkVersion: एपीआई लेवल जिस पर ऐप्लिकेशन को चलने के लिए डिज़ाइन किया गया हो. कुछ मामलों में, इसकी मदद से ऐप्लिकेशन, टारगेट में बताए गए मेनिफ़ेस्ट एलिमेंट या व्यवहार का इस्तेमाल करता है सिर्फ़ तय की गई वैल्यू का इस्तेमाल करने तक सीमित होने के बजाय, एपीआई लेवल पर एपीआई लेवल की ज़रूरी शर्तें पूरी करता है.
  • android:maxSdkVersion: ज़्यादा से ज़्यादा एपीआई लेवल जिस पर ऐप्लिकेशन चल सके. अहम जानकारी: पढ़ें इस एट्रिब्यूट के बारे में जानकारी लेख पढ़ें.

उदाहरण के लिए, सिस्टम के एपीआई लेवल का कम से कम वह लेवल तय करने के लिए जो किसी ऐप्लिकेशन को चलाने के लिए, ऐप्लिकेशन के मेनिफ़ेस्ट में android:minSdkVersion वाला <uses-sdk> एलिमेंट एट्रिब्यूट की वैल्यू सबमिट करें. android:minSdkVersion का मान एक पूर्णांक है जो Android प्लैटफ़ॉर्म के सबसे पुराने वर्शन के एपीआई लेवल से मेल खाते हों जिसके अंतर्गत ऐप्लिकेशन चल सकता है.

जब उपयोगकर्ता किसी ऐप्लिकेशन को इंस्टॉल करने की कोशिश करता है. इसके अलावा, एक अपडेट के बाद, Android सिस्टम सबसे पहले ऐप्लिकेशन के मेनिफ़ेस्ट में <uses-sdk> एट्रिब्यूट और अपने इंटरनल एपीआई लेवल से वैल्यू की तुलना करता है. सिस्टम, इन शर्तों के पूरा होने पर ही इंस्टॉल किया जाएगा:

  • अगर android:minSdkVersion एट्रिब्यूट का एलान किया जाता है, तो इसकी वैल्यू यह सिस्टम के एपीआई लेवल के पूर्णांक से कम या उसके बराबर है. अगर एलान नहीं किया गया है, सिस्टम मानता है कि ऐप्लिकेशन को एपीआई लेवल 1 की ज़रूरत है.
  • अगर android:maxSdkVersion एट्रिब्यूट का एलान किया जाता है, तो इसकी वैल्यू यह सिस्टम के एपीआई लेवल के पूर्णांक के बराबर या उससे ज़्यादा है. अगर एलान नहीं किया गया है, तो सिस्टम यह मान लेता है कि ऐप्लिकेशन एपीआई लेवल की कोई सीमा नहीं है. पढ़ें इस एट्रिब्यूट का ब्यौरा, ताकि आपको इसके बारे में ज़्यादा जानकारी मिल सके और सिस्टम इसे कैसे मैनेज करता है.

किसी ऐप्लिकेशन के मेनिफ़ेस्ट में बताए जाने पर, <uses-sdk> एलिमेंट ऐसा दिख सकता है:

<manifest>
  <uses-sdk android:minSdkVersion="5" />
  ...
</manifest>

किसी ऐप्लिकेशन में एपीआई लेवल का एलान करने की मुख्य वजह android:minSdkVersion को Android सिस्टम को यह जानकारी देनी है कि उन एपीआई का इस्तेमाल करता है जिन्हें एपीआई लेवल में पेश किया गया था.

अगर किसी तरह कम एपीआई लेवल वाले प्लैटफ़ॉर्म पर इंस्टॉल हो जाता है, तो इसके बाद, रनटाइम के दौरान यह क्रैश हो जाता है. ऐसा तब होता है, जब यह ऐसे एपीआई ऐक्सेस करने की कोशिश करता है जो मौजूद नहीं हैं. सिस्टम, ऐप्लिकेशन को अनुमति न देकर इस नतीजे को रोकता है इंस्टॉल तब करें, जब इसके लिए आवश्यक निम्न API स्तर, टारगेट डिवाइस पर प्लैटफ़ॉर्म वर्शन है.

डेवलपमेंट से जुड़ी बातें

नीचे दिए गए सेक्शन में, एपीआई लेवल के बारे में जानकारी दी गई है इन बातों का ध्यान रखें.

ऐप्लिकेशन फ़ॉरवर्ड करने की सुविधा के साथ काम करता है

Android ऐप्लिकेशन आम तौर पर इसके नए वर्शन के साथ संगत होते हैं Android प्लैटफ़ॉर्म.

फ़्रेमवर्क एपीआई में किए जाने वाले ज़्यादातर बदलाव अलग हैं, इसलिए Android API के किसी भी दिए गए वर्शन का इस्तेमाल करके डेवलप किए गए ऐप्लिकेशन, जैसा कि इसके यह एपीआई लेवल की मदद से बनाया गया है. यह Android प्लैटफ़ॉर्म के बाद के वर्शन के साथ काम करता है और एपीआई लेवल में भी बढ़ोतरी देखने को मिलती है. यह ऐप्लिकेशन बाद के सभी वर्शन पर चल सकता है कुछ मामलों को छोड़कर, जहां ऐप्लिकेशन किसी का हिस्सा है, जो बाद में किसी वजह से हटा दिया गया है.

फ़ॉरवर्ड काम करना ज़रूरी है, क्योंकि Android पर चलने वाले कई डिवाइस ओवर-द-एयर (ओटीए) सिस्टम अपडेट मिल सकते हैं. उपयोगकर्ता आपके ऐप्लिकेशन को इंस्टॉल कर सकता है और इसे सफलतापूर्वक इस्तेमाल किया जा सकता है, फिर बाद में एक OTA अपडेट पाएं Android प्लैटफ़ॉर्म का वर्शन होना चाहिए. अपडेट इंस्टॉल होने के बाद, आपका ऐप्लिकेशन एनवायरमेंट के नए रनटाइम वर्शन में चलता है, लेकिन एक ऐसे वर्शन में जिसमें अब भी एपीआई मौजूद है जिन पर आपका ऐप्लिकेशन निर्भर करता है.

एपीआई में नीचे बदलाव किए गए हैं, जैसे कि एपीआई में मौजूद नीचे दिए गए बदलाव सिस्टम स्वयं, जब आपके एप्लिकेशन को नए पर्यावरण को ध्यान में रखते हुए काम करना. यह आपके लिए अहम है, क्योंकि ऐप्लिकेशन डेवलपर के लिए बनाया गया है. इससे यह समझने में मदद मिलेगी कि ऐप्लिकेशन हर सिस्टम में कैसा दिखता है और कैसे काम करता है पर्यावरण को ध्यान में रखते हुए काम करना.

Android के विभिन्न वर्शन पर अपने ऐप्लिकेशन का परीक्षण करने में आपकी सहायता करने के लिए एक से ज़्यादा प्लैटफ़ॉर्म का इस्तेमाल कर सकते हैं, तो Android SDK टूल में कई प्लैटफ़ॉर्म शामिल हैं. हर प्लैटफ़ॉर्म में सिस्टम इमेज के साथ काम करने वाली एक इमेज होती है. इस इमेज को एवीडी में चलाया जा सकता है अपने ऐप्लिकेशन का परीक्षण करें.

ऐप्लिकेशन के पुराने सिस्टम के साथ काम करने की सुविधा

यह ज़रूरी नहीं है कि Android ऐप्लिकेशन, Android ऐप्लिकेशन के पुराने वर्शन के साथ काम करते हों Android प्लैटफ़ॉर्म, उस वर्शन से पुराना है जिसके लिए उन्हें कंपाइल किया गया था.

Android प्लैटफ़ॉर्म के हर नए वर्शन में, नए फ़्रेमवर्क के एपीआई शामिल हो सकते हैं, जैसे कि वे हैं जो ऐप्लिकेशन को नई प्लेटफ़ॉर्म की क्षमताओं का ऐक्सेस देते हैं या मौजूदा एपीआई के हिस्से हैं. ऐप्लिकेशन पर चलने पर, नए एपीआई ऐक्सेस किए जा सकते हैं नए प्लेटफ़ॉर्म पर काम करता है और जब एपीआई लेवल से तय किया गया प्लैटफ़ॉर्म. लेकिन क्योंकि प्लैटफ़ॉर्म में नए एपीआई शामिल नहीं किए गए हैं, लेकिन नए एपीआई का इस्तेमाल करने वाले ऐप्लिकेशन में अलग-अलग विज्ञापन फ़ॉर्मैट पर काम करता है.

हालांकि, Android पर चलने वाले डिवाइस के डाउनग्रेड किए जाने की संभावना तो यह जानना ज़रूरी है कि अब तक फ़ील्ड में ऐसे कई डिवाइस होने की संभावना होती है जो ब्राउज़र के पुराने वर्शन पर चलते हैं प्लैटफ़ॉर्म. ओटीए अपडेट पाने वाले डिवाइसों में भी, कुछ डिवाइसों में देरी हो सकती है और ऐसा हो सकता है कि आपको काफ़ी समय तक अपडेट न मिले.

प्लैटफ़ॉर्म का वर्शन और एपीआई लेवल चुनें

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

एक ही उदाहरण में, ऐप्लिकेशन का इस्तेमाल, बिल्ड टारगेट को लगातार कम करने के लिए किया है. यह तय करने के बाद सबसे नया वर्शन हो, तो संबंधित प्लैटफ़ॉर्म का इस्तेमाल करके एवीडी बनाएं वर्शन और एपीआई लेवल को लागू करने की सुविधा मिलती है. साथ ही, अपने ऐप्लिकेशन की पूरी जांच भी की जा सकती है. पक्का करें कि आपने ऐप्लिकेशन के मेनिफ़ेस्ट में android:minSdkVersion एट्रिब्यूट और इसकी वैल्यू प्लैटफ़ॉर्म वर्शन के एपीआई लेवल पर सेट करती है.

कम से कम एपीआई लेवल तय करना

यदि आप ऐसा ऐप्लिकेशन बनाते हैं जो इसमें प्रस्तुत की गई API या सिस्टम सुविधाओं का उपयोग करता है प्लेटफ़ॉर्म का नया वर्शन है, तो नए के एपीआई लेवल के लिए android:minSdkVersion एट्रिब्यूट प्लैटफ़ॉर्म वर्शन है. ऐसा इसलिए है, ताकि उपयोगकर्ता केवल आपके अगर उनके डिवाइस Android के साथ काम करने वाले वर्शन पर चल रहे हैं, तो प्लैटफ़ॉर्म. इससे यह पक्का करने में मदद मिलती है कि आपका ऐप्लिकेशन सीमित कर दिया है.

अगर आपका ऐप्लिकेशन नए प्लैटफ़ॉर्म वर्शन में पेश किए गए एपीआई का इस्तेमाल करता है, android:minSdkVersion एट्रिब्यूट का एलान नहीं करता है, फिर यह प्लैटफ़ॉर्म के सबसे नए वर्शन पर चलने वाले डिवाइसों पर ठीक से काम करता है, लेकिन प्लैटफ़ॉर्म के पुराने वर्शन पर चल रहे डिवाइसों पर नहीं. बाद वाले इस स्थिति में, रनटाइम के दौरान ऐप्लिकेशन ऐसे एपीआई का इस्तेमाल करने की कोशिश करता है जो क्रैश हो जाते हैं पुराने वर्शन पर मौजूद हैं.

उच्च एपीआई लेवल के साथ टेस्ट करें

अपना आवेदन कंपाइल करने के बाद, इसकी जांच ऐप्लिकेशन के android:minSdkVersion में बताया गया प्लैटफ़ॉर्म एट्रिब्यूट की वैल्यू सबमिट करें. ऐसा करने के लिए, एक ऐसा एवीडी बनाएं जो इसके लिए ज़रूरी प्लैटफ़ॉर्म वर्शन का इस्तेमाल करता हो आपका ऐप्लिकेशन. इसके अलावा, फ़ॉरवर्ड करने के साथ-साथ, यह देखने के लिए कि और उन सभी प्लैटफ़ॉर्म पर ऐप्लिकेशन की जांच करें जो इससे बेहतर एपीआई लेवल इस्तेमाल करते हैं आपके ऐप्लिकेशन द्वारा उपयोग किया जाता है.

Android SDK टूल में प्लैटफ़ॉर्म के कई वर्शन शामिल हैं. इनका इस्तेमाल किया जा सकता है, इसमें सबसे नया वर्शन शामिल है. साथ ही, इसमें अपडेटर टूल भी शामिल है, जिसकी मदद से अपनी ज़रूरत के हिसाब से प्लैटफ़ॉर्म के अन्य वर्शन डाउनलोड कर सकते हैं.

अपडेटर को ऐक्सेस करने के लिए, android कमांड-लाइन टूल का इस्तेमाल करें. <sdk>/tools डायरेक्ट्री में मौजूद होता है. SDK टूल अपडेटर को इस तरह लॉन्च किया जा सकता है: android sdk चलाया जा रहा है. आप साथ ही, android.bat (Windows) या android (OS X/Linux) फ़ाइल पर दो बार क्लिक करें.

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

रेफ़रंस दस्तावेज़ को एपीआई लेवल के हिसाब से फ़िल्टर करें

Android प्लैटफ़ॉर्म के रेफ़रंस वाले दस्तावेज़ पेजों पर "एपीआई लेवल" नियंत्रण. Google आपके यूआरएल पैरामीटर को कैसे इस्तेमाल करेगा, यह तय करने के लिए का नियंत्रण एपीआई के केवल उन भागों के लिए दस्तावेज़ दिखाने के लिए है जो वास्तविक में हैं आपके ऐप्लिकेशन में मौजूद एपीआई लेवल के आधार पर, उस तक पहुंच सकता है अपनी मेनिफ़ेस्ट फ़ाइल का android:minSdkVersion एट्रिब्यूट इस्तेमाल करना चाहिए.

फ़िल्टर करने की सुविधा का इस्तेमाल करने के लिए एपीआई चुनें स्तर पर सेट करें. एपीआई की शुरुआत बाद में की गई इसके बाद, एपीआई लेवल धूसर हो जाता है और उनका कॉन्टेंट मास्क हो जाता है, क्योंकि वे आपके ऐप्लिकेशन तक पहुंच सकता है.

दस्तावेज़ में एपीआई लेवल के हिसाब से फ़िल्टर करने से व्यू नहीं मिलता बताया गया है कि हर एपीआई लेवल में नया क्या है या क्या पेश किया गया है. यह तरीका एपीआई को छोड़कर, किसी खास एपीआई लेवल से जुड़े पूरे एपीआई को देखने के लिए एलिमेंट, जो बाद के एपीआई लेवल में पेश किए गए हैं.

पूरे दस्तावेज़ देखने के लिए, एपीआई लेवल मेन्यू में सबसे ऊपर मौजूद, REL चुनें. एपीआई लेवल पर फ़िल्टर करने की सुविधा डिफ़ॉल्ट रूप से बंद है, ताकि आप एपीआई लेवल पर ध्यान दिए बिना पूरा फ़्रेमवर्क एपीआई देख सकें.

अलग-अलग एपीआई एलिमेंट के लिए रेफ़रंस दस्तावेज़ उस एपीआई लेवल के बारे में बताता है जिस पर हर एलिमेंट को दिखाया गया है. एपीआई लेवल पैकेज और क्लास के मामले में इसकी जानकारी "एपीआई लेवल में जोड़ा गया" के तौर पर दी गई है पूरी तरह कैसे हर दस्तावेज़ के पेज पर कॉन्टेंट एरिया के सबसे ऊपर दाएं कोने में. एपीआई लेवल क्लास के सदस्यों के लिए उनकी पूरी जानकारी वाले हेडर में बताया जाता है, पर क्लिक करें.