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

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

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

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

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

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

इस पेज पर, इन सभी चरणों के लिए सामान्य तरीके बताए गए हैं. जब आप तैयार हों, तो Android 11 पाएं लेख पढ़ें.

पक्का करना कि सिस्टम, Android 11 के साथ काम करता हो

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

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

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

डिवाइस के साथ काम करने की जांच करना

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

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

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

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

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

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

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

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

Android 11 के साथ पूरी तरह से काम करने के लिए, यहां दिया गया तरीका अपनाएं.

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

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

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

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

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

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

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

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

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

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

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