Android 17 का बीटा 4 वर्शन रिलीज़ हो गया है. यह इस रिलीज़ साइकल का आखिरी बीटा वर्शन है. यह ऐप्लिकेशन के साथ काम करने और प्लैटफ़ॉर्म की स्थिरता के लिए एक अहम माइलस्टोन है. चाहे आपको अपने ऐप्लिकेशन के उपयोगकर्ता अनुभव को बेहतर बनाना हो, एज-टू-एज रेंडरिंग को बेहतर बनाना हो या नए एपीआई का इस्तेमाल करना हो, Beta 4 आपको टेस्टिंग के लिए लगभग फ़ाइनल एनवायरमेंट उपलब्ध कराता है.
अपने ऐप्लिकेशन, लाइब्रेरी, टूल, और गेम इंजन तैयार करें!
अगर आपने कोई Android एसडीके, लाइब्रेरी, टूल या गेम इंजन बनाया है, तो ज़रूरी अपडेट अभी तैयार कर लें. इससे, ऐप्लिकेशन और गेम डेवलपर को कंपैटिबिलिटी से जुड़ी समस्याओं की वजह से ब्लॉक होने से बचाया जा सकेगा. साथ ही, उन्हें एसडीके की नई सुविधाओं को टारगेट करने की अनुमति दी जा सकेगी. कृपया डाउनस्ट्रीम डेवलपर को बताएं कि Android 17 को पूरी तरह से सपोर्ट करने के लिए, अपडेट ज़रूरी हैं या नहीं.
टेस्टिंग में, Android 17 Beta 4 पर चलने वाले किसी डिवाइस या एम्युलेटर पर, Google Play या किसी अन्य तरीके से, आपके प्रोडक्शन ऐप्लिकेशन या आपकी लाइब्रेरी या इंजन का इस्तेमाल करने वाले टेस्ट ऐप्लिकेशन को इंस्टॉल करना शामिल है. अपने ऐप्लिकेशन के सभी फ़्लो को आज़माएं और फ़ंक्शन या यूज़र इंटरफ़ेस (यूआई) से जुड़ी समस्याओं का पता लगाएं. Android के हर वर्शन में, प्लैटफ़ॉर्म से जुड़े ऐसे बदलाव किए जाते हैं जिनसे निजता, सुरक्षा, और उपयोगकर्ता अनुभव बेहतर होता है. Android 17 पर चलने वाले और टारगेट करने वाले ऐप्लिकेशन के लिए, ऐप्लिकेशन के व्यवहार में होने वाले बदलावों की समीक्षा करें. इससे आपको टेस्टिंग पर फ़ोकस करने में मदद मिलेगी. इसमें ये शामिल हैं:
- बड़ी स्क्रीन पर साइज़ बदलने की सुविधा: Android 17 को टारगेट करने के बाद, आपके पास ओरिएंटेशन, साइज़ बदलने, और आसपेक्ट रेशियो से जुड़ी पाबंदियों को बड़ी स्क्रीन पर लागू करने से ऑप्ट आउट करने का विकल्प नहीं होगा.
- डाइनैमिक कोड लोडिंग: अगर आपका ऐप्लिकेशन Android 17 या इसके बाद के वर्शन को टारगेट करता है, तो DEX और JAR फ़ाइलों के लिए, Safer Dynamic Code Loading (DCL) की सुरक्षा सुविधा Android 14 में पेश की गई थी. अब यह सुविधा, नेटिव लाइब्रेरी के लिए भी उपलब्ध है. System.load() का इस्तेमाल करके लोड की गई सभी नेटिव फ़ाइलों को रीड-ओनली के तौर पर मार्क किया जाना चाहिए. ऐसा न होने पर, सिस्टम UnsatisfiedLinkError दिखाता है.
- सीटी को डिफ़ॉल्ट रूप से चालू करें: सर्टिफ़िकेट ट्रांसपैरेंसी (सीटी) डिफ़ॉल्ट रूप से चालू होती है. (Android 16 पर, सीटी की सुविधा उपलब्ध है. हालांकि, ऐप्लिकेशन को ऑप्ट इन करना होगा.)
- लोकल नेटवर्क को सुरक्षित रखने से जुड़ी सुविधाएं: Android 17 या इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, लोकल नेटवर्क का ऐक्सेस डिफ़ॉल्ट रूप से ब्लॉक होता है. अगर हो सके, तो निजता बनाए रखने वाले पिकर का इस्तेमाल करें. साथ ही, बड़े पैमाने पर और लगातार ऐक्सेस के लिए, नई ACCESS_LOCAL_NETWORK अनुमति का इस्तेमाल करें.
- बैकग्राउंड में चलने वाले ऑडियो को सुरक्षित बनाना: Android 17 से, ऑडियो फ़्रेमवर्क बैकग्राउंड में चलने वाले ऑडियो के इंटरैक्शन पर पाबंदियां लागू करता है. इनमें ऑडियो चलाने, ऑडियो फ़ोकस के अनुरोध, और आवाज़ में बदलाव करने वाले एपीआई शामिल हैं. आपके सुझाव के आधार पर, हमने बीटा 2 के बाद से कुछ बदलाव किए हैं. इनमें, इस्तेमाल के दौरान टारगेट एसडीके के लिए गेटिंग, एफजीएस लागू करना, और अलार्म के ऑडियो को छूट देना शामिल है. पूरी जानकारी, अपडेट किए गए दिशा-निर्देशों में उपलब्ध है.
ऐप्लिकेशन के लिए मेमोरी की सीमाएं
Android, डिवाइस की कुल रैम के आधार पर ऐप्लिकेशन की मेमोरी की सीमाएं तय कर रहा है. इससे आपके ऐप्लिकेशन और Android का इस्तेमाल करने वाले लोगों के लिए, ज़्यादा स्थिर और भरोसेमंद एनवायरमेंट तैयार किया जा सकेगा. Android 17 में, सिस्टम की बेसलाइन तय करने के लिए सीमाएं तय की जाती हैं. इनका मकसद, मेमोरी लीक और अन्य गड़बड़ियों को ठीक करना होता है. ऐसा इसलिए किया जाता है, ताकि ये गड़बड़ियां पूरे सिस्टम को अस्थिर न कर दें. इनकी वजह से यूज़र इंटरफ़ेस (यूआई) में रुकावटें आती हैं, बैटरी ज़्यादा खर्च होती है, और ऐप्लिकेशन बंद हो जाते हैं. हमें उम्मीद है कि ज़्यादातर ऐप्लिकेशन सेशन पर इसका बहुत कम असर पड़ेगा. हालांकि, हमारा सुझाव है कि आप मेमोरी के इस्तेमाल से जुड़े इन सबसे सही तरीकों को अपनाएं. इनमें मेमोरी के लिए बेसलाइन तय करना भी शामिल है.
मौजूदा तरीके में, अगर आपके ऐप्लिकेशन पर असर पड़ा है, तो ApplicationExitInfo में getDescription फ़ंक्शन में "MemoryLimiter" स्ट्रिंग शामिल होगी. मेमोरी की सीमा पूरी होने पर इकट्ठा किए गए हीप डंप पाने के लिए, TRIGGER_TYPE_ANOMALY के साथ ट्रिगर पर आधारित प्रोफ़ाइलिंग का इस्तेमाल किया जा सकता है.
मेमोरी लीक का पता लगाने में आपकी मदद करने के लिए, Android Studio Panda में LeakCanary इंटिग्रेशन को सीधे तौर पर Android Studio Profiler में जोड़ा गया है. इसे एक खास टास्क के तौर पर जोड़ा गया है. इसे आईडीई में कॉन्टेक्स्ट के हिसाब से रखा गया है और यह आपके सोर्स कोड के साथ पूरी तरह से इंटिग्रेट किया गया है.
मेमोरी का कम इस्तेमाल होने से, डिवाइस की परफ़ॉर्मेंस बेहतर होती है, बैटरी लाइफ़ बढ़ती है, और सभी फ़ॉर्म फ़ैक्टर में प्रीमियम अनुभव मिलता है. आइए, साथ मिलकर Android के नेटवर्क को ज़्यादा तेज़ और भरोसेमंद बनाएं!
ऐप्लिकेशन में गड़बड़ियों की पहचान करने के लिए प्रोफ़ाइलिंग ट्रिगर
Android, डिवाइस पर गड़बड़ी का पता लगाने वाली सेवा उपलब्ध कराता है. यह सेवा, ज़्यादा संसाधन इस्तेमाल करने वाले व्यवहार और संभावित तौर पर काम न करने वाली सुविधाओं पर नज़र रखती है. यह सेवा, ProfilingManager के साथ इंटिग्रेट की गई है. इससे आपका ऐप्लिकेशन, सिस्टम से पता लगाए गए खास इवेंट से ट्रिगर होने वाले प्रोफ़ाइलिंग आर्टफ़ैक्ट पा सकता है.
सिस्टम की परफ़ॉर्मेंस से जुड़ी समस्याओं का पता लगाने के लिए, TRIGGER_TYPE_ANOMALY ट्रिगर का इस्तेमाल करें. जैसे, बहुत ज़्यादा बाइंडर कॉल और बहुत ज़्यादा मेमोरी का इस्तेमाल. जब कोई ऐप्लिकेशन, ओएस की तय की गई मेमोरी की सीमाओं का उल्लंघन करता है, तो गड़बड़ी ट्रिगर होने पर डेवलपर को ऐप्लिकेशन के हिसाब से हीप डंप मिलते हैं. इससे उन्हें मेमोरी से जुड़ी समस्याओं का पता लगाने और उन्हें ठीक करने में मदद मिलती है. इसके अलावा, अगर बहुत ज़्यादा बाइंडर स्पैम होता है, तो गड़बड़ी का पता लगाने वाला ट्रिगर, बाइंडर लेन-देन पर स्टैक सैंपलिंग प्रोफ़ाइल उपलब्ध कराता है.
यह एपीआई कॉलबैक, सिस्टम की ओर से लागू किए गए किसी भी उल्लंघन से पहले होता है. उदाहरण के लिए, इससे डेवलपर को सिस्टम की ओर से ऐप्लिकेशन बंद किए जाने से पहले, डीबग डेटा इकट्ठा करने में मदद मिल सकती है. ऐसा तब होता है, जब ऐप्लिकेशन मेमोरी की तय सीमा से ज़्यादा मेमोरी इस्तेमाल करता है. ट्रिगर का इस्तेमाल करने का तरीका जानने के लिए, ट्रिगर पर आधारित प्रोफ़ाइलिंग के बारे में हमारा दस्तावेज़ पढ़ें.
val profilingManager = applicationContext.getSystemService(ProfilingManager::class.java) val triggers = ArrayList<ProfilingTrigger>() triggers.add(ProfilingTrigger.Builder( ProfilingTrigger.TRIGGER_TYPE_ANOMALY)) val mainExecutor: Executor = Executors.newSingleThreadExecutor() val resultCallback = Consumer<ProfilingResult> { profilingResult -> if (profilingResult.errorCode != ProfilingResult.ERROR_NONE) { // upload profile result to server for further analysis setupProfileUploadWorker(profilingResult.resultFilePath) } profilingManager.registerForAllProfilingResults(mainExecutor, resultCallback) profilingManager.addProfilingTriggers(triggers) }
Android Keystore में पोस्ट-क्वांटम क्रिप्टोग्राफ़ी (पीक्यूसी)
Android Keystore में, NIST-standardized ML-DSA (Module-Lattice-Based Digital Signature Algorithm) के लिए सहायता जोड़ी गई है. जिन डिवाइसों पर एमएल-डीएसए काम करता है उन पर एमएल-डीएसए कुंजियां जनरेट की जा सकती हैं. साथ ही, इनका इस्तेमाल डिवाइस के सुरक्षित हार्डवेयर में, क्वांटम-सुरक्षित सिग्नेचर बनाने के लिए किया जा सकता है. Android Keystore, ML-DSA-65 और ML-DSA-87 एल्गोरिदम के वैरिएंट को स्टैंडर्ड Java Cryptographic Architecture API के ज़रिए दिखाता है: KeyPairGenerator, KeyFactory, और Signature. ज़्यादा जानकारी के लिए, हमारा डेवलपर दस्तावेज़ देखें.
KeyPairGenerator generator = KeyPairGenerator.getInstance( “ML-DSA-65”, "AndroidKeyStore"); generator.initialize( new KeyGenParameterSpec.Builder( “my-key-alias”, KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY) .build()); KeyPair keyPair = generator.generateKeyPair();
Android 17 का इस्तेमाल शुरू करना
इस और आने वाले समय में Android के बीटा वर्शन के अपडेट पाने के लिए, Android के साथ काम करने वाले किसी भी Pixel डिवाइस को रजिस्टर करें. अगर आपके पास Pixel डिवाइस नहीं है, तो Android Studio में Android Emulator के साथ 64-बिट सिस्टम इमेज का इस्तेमाल किया जा सकता है.
अगर आपने Android के बीटा प्रोग्राम में रजिस्टर किया है, तो आपको Beta 4 का ओटीए (ओवर-द-एयर) अपडेट मिलेगा.
सुझाव/राय देने या शिकायत करने वाले पेज पर जाकर, समस्याओं की शिकायत करें और सुविधाओं के लिए अनुरोध करें. हमें आपके सुझाव, शिकायत या राय जितनी जल्दी मिलेगी, हम उन्हें फ़ाइनल रिलीज़ में उतना ही ज़्यादा शामिल कर पाएंगे.
Android 17 के साथ डेवलपमेंट का बेहतर अनुभव पाने के लिए, हमारा सुझाव है कि आप Android Studio (Panda) के नए प्रीव्यू वर्शन का इस्तेमाल करें. सेट अप करने के बाद, आपको ये काम करने चाहिए:
- नए SDK के हिसाब से कंपाइल करें, सीआई एनवायरमेंट में टेस्ट करें, और सुझाव/राय देने या शिकायत करने वाले पेज पर, किसी भी समस्या की शिकायत करें.
- अपने मौजूदा ऐप्लिकेशन की जांच करें कि वह Android 17 के साथ काम करता है या नहीं. यह भी जानें कि Android 17 में हुए बदलावों का आपके ऐप्लिकेशन पर कोई असर पड़ा है या नहीं. इसके बाद, अपने ऐप्लिकेशन को Android 17 पर काम करने वाले किसी डिवाइस या एम्युलेटर पर इंस्टॉल करें और उसकी अच्छी तरह से जांच करें.
हम Android 17 की रिलीज़ साइकल के दौरान, प्रीव्यू/बीटा सिस्टम इमेज और एसडीके को समय-समय पर अपडेट करते रहेंगे. बीटा वर्शन इंस्टॉल करने के बाद, आपको आने वाले समय में सभी बाद के प्रीव्यू और बीटा वर्शन के अपडेट, ओवर-द-एयर (वायरलेस तरीके से) अपने-आप मिलते रहेंगे.
पूरी जानकारी के लिए, Android 17 डेवलपर साइट पर जाएं.
बातचीत में शामिल हों
आपका सुझाव, शिकायत या राय हमारे लिए सबसे अहम है. चाहे आप Canary चैनल के शुरुआती उपयोगकर्ता हों या ऐप्लिकेशन डेवलपर हों और Beta 4 पर टेस्टिंग कर रहे हों, हमारी कम्यूनिटी में शामिल हों और सुझाव/राय दें या शिकायत करें. हम सुन रहे हैं.
-
प्रॉडक्ट से जुड़ी खबरेंहमने मार्च में, Android Bench लॉन्च किया था. यह असल दुनिया के Android डेवलपमेंट टास्क के लिए, हमारा एलएलएम लीडरबोर्ड है. इसके बाद से, हमने आपके सुझाव, शिकायत या राय के आधार पर बेंचमार्क को बेहतर बनाया है. इसमें ओपन-वेट मॉडल का आकलन करना और लीडरबोर्ड में लागत और परफ़ॉर्मेंस के डाइमेंशन जोड़ना शामिल है.
Zoe Lopez-Latorre • तीन मिनट में पढ़ा जा सकता है -
प्रॉडक्ट से जुड़ी खबरेंGoogle Play पर, हम उपयोगकर्ताओं को सबसे अच्छा अनुभव देने के लिए प्रतिबद्ध हैं. साथ ही, हम यह भी पक्का करते हैं कि डेवलपर के पास सफल होने के लिए ज़रूरी टूल और अडैप्टेबिलिटी हो.
Paul Feng • तीन मिनट में पढ़ा जा सकता है -
प्रॉडक्ट से जुड़ी खबरेंपिछले साल, हमने Android डेवलपर की पहचान की पुष्टि करने की सुविधा लॉन्च की थी. इससे, हमने अपने नेटवर्क की सुरक्षा को बेहतर बनाया था. साथ ही, बुरे मकसद से काम करने वाले लोगों या ग्रुप को नुकसान पहुंचाने वाले ऐप्लिकेशन रिलीज़ करने से रोका था. ये लोग अपनी पहचान छिपाकर ऐसा करते थे.
Matthew Forsythe • दो मिनट में पढ़ें
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.