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