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

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

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

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

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

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

पक्का करें कि ऐप्लिकेशन, Android 17 के साथ काम करता हो

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

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

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

Android 17 पाना

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

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

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

टेस्ट

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

अपडेट करें

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

पब्लिश करें

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

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

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

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

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

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

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

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

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

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

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

Android 17 SDK पाना

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

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

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

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

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

Android 17 की सुविधाओं को अपनाना

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

टेस्ट

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

फ़ाइनल अपडेट

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

पब्लिश करें

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

एसडीके पाना, टारगेटिंग बदलना, और नए एपीआई का इस्तेमाल करना

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

Android 17 पर काम करने वाले ऐप्लिकेशन को टेस्ट करना

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

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

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

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

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

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

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

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