ऐप्लिकेशन को 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 में पेश किए गए सभी ऐप्लिकेशन के लिए व्यवहार में हुए बदलावों की समीक्षा करें. इनसे आपके ऐप्लिकेशन के फ़ंक्शन पर असर पड़ सकता है या आपका ऐप्लिकेशन क्रैश हो सकता है.

यह भी पक्का करें कि आपने पाबंदी वाले नॉन-एसडीके इंटरफ़ेस के इस्तेमाल की समीक्षा और जांच कर ली हो. आपको अपने ऐप्लिकेशन में इस्तेमाल किए जा रहे प्रतिबंधित इंटरफ़ेस को सार्वजनिक SDK या 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 में बदलाव किए बिना, टारगेट किए गए बदलावों की जांच करें. टॉगल का इस्तेमाल करके, टारगेट किए गए व्यवहार में होने वाले कुछ बदलावों को ज़बरदस्ती चालू किया जा सकता है. इससे, आपके मौजूदा ऐप्लिकेशन पर पड़ने वाले असर का आकलन किया जा सकता है.
  • सिर्फ़ खास बदलावों पर टेस्टिंग करें. टॉगल की मदद से, एक साथ सभी टारगेट किए गए बदलावों को लागू करने के बजाय, उन बदलावों को छोड़कर बाकी सभी बदलावों को बंद किया जा सकता है जिनकी आपको जांच करनी है.
  • adb की मदद से टॉगल मैनेज करना. अपने-आप होने वाले टेस्ट एनवायरमेंट में, टॉगल किए जा सकने वाले बदलावों को चालू और बंद करने के लिए, adb कमांड का इस्तेमाल किया जा सकता है.
  • स्टैंडर्ड चेंज आईडी का इस्तेमाल करके, गड़बड़ियों को तेज़ी से ठीक करें. टॉगल किए जा सकने वाले हर बदलाव का एक यूनीक आईडी और नाम होता है. इसका इस्तेमाल करके, लॉग आउटपुट में समस्या की वजह का तुरंत पता लगाया जा सकता है.

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