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

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

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

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

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

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

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

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

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

फ़ाइनल अपडेट

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

पब्लिश करें

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

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

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

Android 12 के लिए बनाए गए ऐप्लिकेशन की जांच करना

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

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

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

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

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

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

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

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