इस दस्तावेज़ में, Android प्लैटफ़ॉर्म की रिलीज़ टाइमलाइन के मुताबिक काम करने और Android 17 पर उपयोगकर्ता को बेहतरीन अनुभव देने के लिए, डेवलपमेंट और टेस्टिंग से जुड़ी कार्रवाइयों की खास जानकारी दी गई है.
Android के हर वर्शन में, हम नई सुविधाएं और व्यवहार में बदलाव करते हैं. हमारा मकसद, Android को ज़्यादा मददगार, ज़्यादा सुरक्षित, और बेहतर परफ़ॉर्मेंस वाला बनाना है. ज़्यादातर मामलों में, आपका ऐप्लिकेशन उम्मीद के मुताबिक काम करेगा. हालांकि, कुछ मामलों में आपको प्लैटफ़ॉर्म में हुए बदलावों के हिसाब से, अपने ऐप्लिकेशन को अपडेट करना पड़ सकता है.
AOSP (Android Open Source Project) पर सोर्स कोड रिलीज़ होते ही, उपयोगकर्ताओं को नया प्लैटफ़ॉर्म मिलना शुरू हो जाता है. इसलिए, यह ज़रूरी है कि आपके ऐप्लिकेशन तैयार हों और उपयोगकर्ताओं के लिए उम्मीद के मुताबिक काम करें. साथ ही, नए प्लैटफ़ॉर्म का ज़्यादा से ज़्यादा फ़ायदा पाने के लिए, नए एपीआई और सुविधाओं का इस्तेमाल करें.
आम तौर पर, माइग्रेशन के दो चरण होते हैं. ये चरण एक साथ भी हो सकते हैं:
- यह पक्का करना कि ऐप्लिकेशन, Android 17 के फ़ाइनल वर्शन के साथ काम करे
- नए प्लैटफ़ॉर्म की सुविधाओं और एपीआई को टारगेट करना (फ़ाइनल वर्शन रिलीज़ होने के तुरंत बाद)
यह पक्का करना कि ऐप्लिकेशन, Android 17 के साथ काम करे
यह पक्का करने के लिए कि Android के नए वर्शन पर अपडेट करने वाले उपयोगकर्ताओं को बेहतरीन अनुभव मिले, अपने मौजूदा ऐप्लिकेशन की सुविधाओं को Android 17 के साथ टेस्ट करना ज़रूरी है. प्लैटफ़ॉर्म में हुए कुछ बदलावों से, आपके ऐप्लिकेशन के काम करने के तरीके पर असर पड़ सकता है. इसलिए, यह ज़रूरी है कि आप अपने ऐप्लिकेशन को पहले और अच्छी तरह से टेस्ट करें. साथ ही, उसमें ज़रूरी बदलाव करें.
आम तौर पर, आपको अपने ऐप्लिकेशन में बदलाव करने और उसे अपडेट के तौर पर पब्लिश करने के लिए, targetSdkVersion में बदलाव करने की ज़रूरत नहीं होती. इसी तरह, आपको नए एपीआई का इस्तेमाल करने या ऐप्लिकेशन के compileSdkVersion में बदलाव करने की ज़रूरत नहीं होती. हालांकि, यह इस बात पर निर्भर करता है कि आपका ऐप्लिकेशन कैसे बनाया गया है और वह प्लैटफ़ॉर्म की किस सुविधा का इस्तेमाल कर रहा है.
टेस्टिंग शुरू करने से पहले, सभी ऐप्लिकेशन के लिए व्यवहार
में हुए बदलावों के बारे में जान लें. इन बदलावों से आपके ऐप्लिकेशन पर असर पड़ सकता है. भले ही, आपने targetSdkVersion में बदलाव न किया हो.
अपने डिवाइस पर Android 17 की सिस्टम इमेज फ़्लैश करें या Android एम्युलेटर के लिए सिस्टम इमेज डाउनलोड करें.
सिस्टम के व्यवहार में हुए बदलावों की समीक्षा करें, ताकि उन क्षेत्रों की पहचान की जा सके जहां आपके ऐप्लिकेशन पर असर पड़ सकता है.
अपने डिवाइस या एम्युलेटर पर अपना ऐप्लिकेशन इंस्टॉल करें और टेस्ट चलाएं. सिस्टम के व्यवहार में हुए बदलावों पर फ़ोकस करें और ऐप्लिकेशन के सभी फ़्लो को आज़माएं.
व्यवहार में हुए बदलावों के हिसाब से काम करने या समस्याओं को हल करने के लिए, सिर्फ़ कोड में ज़रूरी बदलाव करें. उसी एपीआई लेवल के साथ फिर से कंपाइल करें जिसे आपका ऐप्लिकेशन पहले टारगेट करता था. इसके लिए, Android 17 को टारगेट करने की ज़रूरत नहीं है.
अपडेट किए गए Android ऐप्लिकेशन बंडल या APK पर साइन करें, उसे अपलोड करें, और पब्लिश करें.
यह पक्का करने के लिए कि आपका ऐप्लिकेशन, Android 17 के साथ काम करे, उसे टेस्ट करना
ज़्यादातर मामलों में, Android 17 के साथ कंपैटिबिलिटी टेस्ट करना, सामान्य ऐप्लिकेशन टेस्टिंग की तरह ही होता है. यह ऐप्लिकेशन की क्वालिटी के लिए बने मुख्य दिशा-निर्देशों और टेस्टिंग के सबसे सही तरीकों की समीक्षा करने का सही समय है.
टेस्ट करने के लिए, Android 17 पर चलने वाले डिवाइस पर, अपना मौजूदा पब्लिश किया गया ऐप्लिकेशन इंस्टॉल करें. इसके बाद, समस्याओं की पहचान करने के लिए, ऐप्लिकेशन के फ़्लो और सुविधाओं को आज़माएं. टेस्ट पर फ़ोकस करने के लिए, Android 17 में पेश किए गए सभी ऐप्लिकेशन के लिए व्यवहार में हुए बदलावों की समीक्षा करें. इनसे, आपके ऐप्लिकेशन के काम करने के तरीके पर असर पड़ सकता है या आपका ऐप्लिकेशन क्रैश हो सकता है.
यह भी पक्का करें कि गैर-एसडीके इंटरफ़ेस के प्रतिबंधित इस्तेमाल
की समीक्षा और टेस्ट किया जाए. आपको अपने ऐप्लिकेशन में इस्तेमाल किए गए किसी भी प्रतिबंधित इंटरफ़ेस को, सार्वजनिक एसडीके या एनडीके के बराबर इंटरफ़ेस से बदलना चाहिए. इन
ऐक्सेस को हाइलाइट करने वाली logcat चेतावनियों पर नज़र रखें. साथ ही, इन्हें प्रोग्राम के हिसाब से पकड़ने के लिए, StrictMode तरीके detectNonSdkApiUsage() का इस्तेमाल करें.
आखिर में, अपने ऐप्लिकेशन में मौजूद लाइब्रेरी और एसडीके टूल को पूरी तरह से टेस्ट करें. इससे यह पक्का किया जा सकेगा कि वे Android 17 पर उम्मीद के मुताबिक काम करें. साथ ही, निजता, परफ़ॉर्मेंस, यूएक्स, डेटा हैंडलिंग, और अनुमतियों के लिए सबसे सही तरीकों का पालन करें. अगर आपको कोई समस्या मिलती है, तो एसडीके के नए वर्शन पर अपडेट करें या मदद के लिए एसडीके डेवलपर से संपर्क करें.
टेस्टिंग पूरी करने और अपडेट करने के बाद, हमारा सुझाव है कि कंपैटिबल ऐप्लिकेशन को तुरंत पब्लिश करें. इससे आपके उपयोगकर्ताओं को ऐप्लिकेशन को पहले से टेस्ट करने का मौका मिलता है. साथ ही, Android 17 पर अपडेट करने पर, उन्हें बिना किसी समस्या के ऐप्लिकेशन इस्तेमाल करने का अनुभव मिलता है.
नए एपीआई की मदद से, ऐप्लिकेशन के टारगेट को अपडेट करना और उसे बनाना
अपने ऐप्लिकेशन का कंपैटिबल वर्शन पब्लिश करने के बाद, अगला चरण है कि targetSdkVersion को अपडेट करके और Android 17 में मौजूद नए एपीआई और सुविधाओं का फ़ायदा उठाकर, Android 17 के लिए पूरी तरह से सहायता जोड़ना.
आपके पास ये अपडेट, कभी भी करने का विकल्प है. हालांकि, नए प्लैटफ़ॉर्म को टारगेट करने के लिए, Google
Play की ज़रूरी शर्तों का ध्यान रखें.
Android 17 के लिए पूरी तरह से सहायता जोड़ने की योजना बनाते समय, व्यवहार में हुए उन बदलावों की समीक्षा करें जिनसे Android 17 को टारगेट करने वाले ऐप्लिकेशन पर असर पड़ता है. टारगेट किए गए व्यवहार में हुए इन बदलावों की वजह से, काम करने से जुड़ी समस्याएं हो सकती हैं. इसके बाद, आपको इन समस्याओं को ठीक करना होगा. कुछ मामलों में, इन बदलावों के लिए काफ़ी डेवलपमेंट की ज़रूरत होती है. इसलिए, हमारा सुझाव है कि इनके बारे में जल्द से जल्द जानें और इन्हें ठीक करें. व्यवहार में हुए उन खास बदलावों की पहचान करने के लिए जिनसे आपके ऐप्लिकेशन पर असर पड़ता है, कंपैटिबिलिटी टॉगल का इस्तेमाल करें. इससे, चुने गए बदलावों को चालू करके अपने ऐप्लिकेशन को टेस्ट किया जा सकता है.
यहां दिए गए चरणों में, Android 17 के लिए पूरी तरह से सहायता जोड़ने का तरीका बताया गया है.
Android 17 की मदद से बनाने के लिए, Android Studio के नए वर्शन की झलक इंस्टॉल करें. पक्का करें कि आपके पास Android 17 वाला डिवाइस या
एम्युलेटर हो.
अपने targetSdkVersion और अन्य बिल्ड
कॉन्फ़िगरेशन अपडेट करें.
व्यवहार में हुए उन बदलावों की समीक्षा करें जो Android 17 को टारगेट करने वाले ऐप्लिकेशन पर लागू होते हैं. उन क्षेत्रों की पहचान करें जहां आपके ऐप्लिकेशन पर असर पड़ सकता है, और यह प्लान करें कि इन क्षेत्रों के लिए सहायता कैसे जोड़ी जाए.
Android 17 में, उपयोगकर्ता की निजता से जुड़े बदलावों के हिसाब से काम करने के लिए, कोड और आर्किटेक्चर में ज़रूरी बदलाव करें.
अपने ऐप्लिकेशन में नई सुविधाएं और क्षमताएं जोड़ने के लिए, Android 17 के एपीआई का इस्तेमाल करें. 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) देखें.