ऐप्लिकेशन को 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 Emulator के लिए सिस्टम इमेज डाउनलोड करें.

बदलावों की समीक्षा करें

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

परीक्षण करें

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

अपडेट करें

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

पब्लिश करें

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

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

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

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

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

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

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

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

ऐप्लिकेशन का ऐसा वर्शन पब्लिश करने के बाद जो Android 12 के साथ काम करता हो, अगला चरण यह है कि ऐप्लिकेशन को Android 12 के साथ पूरी तरह से काम करने लायक बनाया जाए. इसके लिए, ऐप्लिकेशन को अपडेट करें targetSdkVersion. साथ ही, 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 को अपडेट करें. साथ ही, ऐप्लिकेशन को फिर से कंपाइल करें. ज़्यादा जानकारी के लिए, SDK टूल को सेट अप करने से जुड़ी गाइड देखें.

Android 12 पर काम करने वाले ऐप्लिकेशन की जांच करना

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

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

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

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

ऐप्लिकेशन के साथ काम करने की सुविधा को टॉगल करके जांच करना

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

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

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