ऐप्लिकेशन को Android 12 पर माइग्रेट करना

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

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

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

आम तौर पर, माइग्रेशन के दो चरण होते हैं. ये चरण एक साथ भी हो सकते हैं:

  • ऐप्लिकेशन की कंपैटिबिलिटी पक्का करना (Android 12 की फ़ाइनल रिलीज़ तक)
  • नए प्लैटफ़ॉर्म की सुविधाओं और एपीआई को टारगेट करना (फ़ाइनल रिलीज़ के तुरंत बाद)

Android 12 के साथ कंपैटिबिलिटी पक्का करना

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

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

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

Android 12 पाना

अपने डिवाइस पर Android 12 की सिस्टम इमेज फ़्लैश करें या Android एम्युलेटर के लिए सिस्टम इमेज डाउनलोड करें.

बदलाव देखें

सिस्टम के व्यवहार में हुए बदलावों की समीक्षा करें. इससे यह पता चलेगा कि आपके ऐप्लिकेशन पर कहां असर पड़ सकता है.

टेस्ट करना

अपने डिवाइस या एम्युलेटर पर अपना ऐप्लिकेशन इंस्टॉल करें और टेस्ट चलाएं. सिस्टम के व्यवहार में हुए बदलावों पर फ़ोकस करें और ऐप्लिकेशन के सभी फ़्लो को टेस्ट करें.

अपडेट करना

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

पब्लिश करना

अपडेट किए गए Android ऐप्लिकेशन बंडल या APK पर साइन करें, उसे अपलोड करें, और पब्लिश करें.

कंपैटिबिलिटी टेस्ट करना

ज़्यादातर मामलों में, Android 12 के साथ कंपैटिबिलिटी टेस्ट करना, सामान्य ऐप्लिकेशन टेस्टिंग जैसा ही होता है. यह, ऐप्लिकेशन की क्वालिटी के लिए मुख्य दिशा-निर्देशों और टेस्टिंग के सबसे सही तरीकों की समीक्षा करने का सही समय है.

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

यह भी पक्का करें कि गैर-एसडीके इंटरफ़ेस के प्रतिबंधित इस्तेमाल की समीक्षा और टेस्टिंगकी जाए. आपको अपने ऐप्लिकेशन में इस्तेमाल किए गए किसी भी प्रतिबंधित इंटरफ़ेस को, सार्वजनिक एसडीके या NDK के बराबर इंटरफ़ेस से बदलना चाहिए. इन ऐक्सेस को हाइलाइट करने वाली logcat चेतावनियों पर नज़र रखें. साथ ही, इन्हें प्रोग्राम के हिसाब से पकड़ने के लिए, StrictMode तरीके detectNonSdkApiUsage() का इस्तेमाल करें.

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

टेस्टिंग पूरी करने और अपडेट करने के बाद, हमारा सुझाव है कि कंपैटिबल ऐप्लिकेशन को तुरंत पब्लिश करें. इससे आपके उपयोगकर्ताओं को ऐप्लिकेशन को पहले से टेस्ट करने का मौका मिलता है. साथ ही, Android 12 पर अपडेट करने पर, उपयोगकर्ताओं को बेहतर अनुभव मिलता है.

नए एपीआई के साथ, ऐप्लिकेशन के टारगेटिंग को अपडेट करना और उसे बनाना

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

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

यहां दिए गए चरणों में, Android 12 के लिए पूरी तरह से सहायता जोड़ने का तरीका बताया गया है.

Android 12 SDK पाना

Android 12 के साथ बनाने के लिए, Android Studio के नए वर्शन की झलक इंस्टॉल करें. पक्का करें कि आपके पास Android 12 वाला डिवाइस या एम्युलेटर हो.
अपने targetSdkVersion और अन्य बिल्ड कॉन्फ़िगरेशन अपडेट करें.

व्यवहार में हुए बदलावों की समीक्षा करना

व्यवहार में हुए उन बदलावों की समीक्षा करें जो Android 12 को टारगेट करने वाले ऐप्लिकेशन पर लागू होते हैं. उन क्षेत्रों की पहचान करें जहां आपके ऐप्लिकेशन पर असर पड़ सकता है, साथ ही, यह प्लान करें कि उन्हें कैसे ठीक किया जाए.

निजता से जुड़े नए बदलावों के हिसाब से जांच करना

Android 12 में, उपयोगकर्ता की निजता से जुड़े बदलावों के हिसाब से काम करने के लिए, कोड और आर्किटेक्चर में ज़रूरी बदलाव करें.

Android 12 की सुविधाएं अपनाना

अपने ऐप्लिकेशन में नई सुविधाएं और क्षमताएं जोड़ने के लिए, Android 12 के एपीआई का फ़ायदा लें. Android 12 के लिए फिर से कंपाइल करें.

टेस्ट करना

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

फ़ाइनल अपडेट

Android 12 के एपीआई फ़ाइनल होने के बाद, अपने targetSdkVersion और अन्य बिल्ड कॉन्फ़िगरेशन को फिर से अपडेट करें. साथ ही, कोई भी अतिरिक्त अपडेट करें और अपने ऐप्लिकेशन को टेस्ट करें.

पब्लिश करना

अपडेट किए गए Android ऐप्लिकेशन बंडल या APK पर साइन करें, उसे अपलोड करें, और पब्लिश करें.

एसडीके पाना, टारगेटिंग बदलना, नए एपीआई के साथ बनाना

Android 12 के लिए पूरी तरह से सहायता जोड़ने के लिए टेस्टिंग शुरू करने के लिए, Android Studio के नए वर्शन की झलक का इस्तेमाल करके, Android 12 SDK और अपनी ज़रूरत के हिसाब से अन्य टूल डाउनलोड करें. इसके बाद, अपने ऐप्लिकेशन के targetSdkVersion और compileSdkVersion को अपडेट करें. साथ ही, ऐप्लिकेशन को फिर से कंपाइल करें. ज़्यादा जानकारी के लिए, एसडीके सेटअप गाइड देखें .

अपने Android 12 ऐप्लिकेशन को टेस्ट करना

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

बुनियादी कंपैटिबिलिटी टेस्ट की तरह, समस्याओं का पता लगाने के लिए, सभी फ़्लो और सुविधाओं को टेस्ट करें. Android 12 को टारगेट करने वाले ऐप्लिकेशन के लिए, व्यवहार में हुए बदलावों पर फ़ोकस करें. यह, ऐप्लिकेशन की क्वालिटी के लिए मुख्य दिशा-निर्देशों और टेस्टिंग के सबसे सही तरीकों के हिसाब से, अपने ऐप्लिकेशन की जांच करने का भी सही समय है.

यह पक्का करें कि गैर-एसडीके इंटरफ़ेस के प्रतिबंधित इस्तेमाल की समीक्षा और टेस्टिंग की जाए . ये इंटरफ़ेस, आपके ऐप्लिकेशन पर लागू हो सकते हैं. इन ऐक्सेस को हाइलाइट करने वाली logcat चेतावनियों पर नज़र रखें. साथ ही, इन्हें प्रोग्राम के हिसाब से पकड़ने के लिए, StrictMode के detectNonSdkApiUsage() तरीके का इस्तेमाल करें.

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

ऐप्लिकेशन की कंपैटिबिलिटी टॉगल का इस्तेमाल करके टेस्ट करना

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

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

अपने ऐप्लिकेशन की टारगेटिंग बदलने की तैयारी करते समय या Android 12 के लिए सहायता जोड़ने के दौरान, टॉगल आपकी मदद कर सकते हैं. ज़्यादा जानकारी के लिए, कंपैटिबिलिटी फ़्रेमवर्क में हुए बदलाव (Android 12) लेख पढ़ें.