Android 17 का बीटा 4 वर्शन रिलीज़ हो गया है. यह इस रिलीज़ साइकल का आखिरी बीटा वर्शन है. यह ऐप्लिकेशन की कंपैटिबिलिटी और प्लैटफ़ॉर्म की स्थिरता के लिए एक अहम पड़ाव है. चाहे आप अपने ऐप्लिकेशन के उपयोगकर्ता अनुभव को बेहतर बना रहे हों, एज-टू-एज रेंडरिंग पक्का कर रहे हों या नए एपीआई का इस्तेमाल कर रहे हों, बीटा 4 वर्शन आपको टेस्टिंग के लिए लगभग फ़ाइनल एनवायरमेंट उपलब्ध कराता है.
अपने ऐप्लिकेशन, लाइब्रेरी, टूल, और गेम इंजन तैयार रखें!
अगर आप Android SDK, लाइब्रेरी, टूल या गेम इंजन डेवलप करते हैं, तो ज़रूरी है कि आप अभी से ज़रूरी अपडेट तैयार कर लें. इससे, आपके डाउनस्ट्रीम ऐप्लिकेशन और गेम डेवलपर को कंपैटिबिलिटी से जुड़ी समस्याओं का सामना नहीं करना पड़ेगा. साथ ही, वे एसडीके की नई सुविधाओं को टारगेट कर पाएंगे. कृपया अपने डाउनस्ट्रीम डेवलपर को बताएं कि Android 17 को पूरी तरह से सपोर्ट करने के लिए, अपडेट की ज़रूरत है या नहीं.
टेस्टिंग के लिए, आपको Android 17 के बीटा 4 वर्शन पर काम करने वाले किसी डिवाइस या एम्युलेटर पर, Google Play या अन्य तरीकों से, प्रोडक्शन ऐप्लिकेशन या टेस्ट ऐप्लिकेशन इंस्टॉल करना होगा. इस ऐप्लिकेशन में, आपकी लाइब्रेरी या इंजन का इस्तेमाल किया गया हो. अपने ऐप्लिकेशन के सभी फ़्लो की जांच करें और फ़ंक्शन या यूज़र इंटरफ़ेस (यूआई) से जुड़ी समस्याओं को ढूंढें. Android के हर वर्शन में, प्लैटफ़ॉर्म में ऐसे बदलाव किए जाते हैं जिनसे निजता, सुरक्षा, और उपयोगकर्ता अनुभव बेहतर होता है. इसलिए, Android 17 पर काम करने वाले और इसे टारगेट करने वाले ऐप्लिकेशन के लिए, ऐप्लिकेशन के व्यवहार में होने वाले बदलावों की समीक्षा करें. इसमें ये बदलाव शामिल हैं:
- बड़ी स्क्रीन पर साइज़ बदलने की सुविधा: Android 17 को टारगेट करने के बाद, बड़ी स्क्रीन पर ओरिएंटेशन, साइज़ बदलने, और आसपेक्ट रेशियो की पाबंदियों को बनाए रखने से ऑप्ट आउट नहीं किया जा सकेगा.
- डाइनैमिक कोड लोड करना: अगर आपका ऐप्लिकेशन, Android 17 या इसके बाद के वर्शन को टारगेट करता है, तो DEX और JAR फ़ाइलों के लिए, Android 14 में शुरू की गई Safer Dynamic Code Loading (DCL) सुरक्षा, अब नेटिव लाइब्रेरी पर भी लागू होती है. System.load() का इस्तेमाल करके लोड की गई सभी नेटिव फ़ाइलों को, सिर्फ़ पढ़ने के लिए मार्क करना होगा. ऐसा न करने पर, सिस्टम UnsatisfiedLinkError दिखाता है.
- सीटी की सुविधा डिफ़ॉल्ट रूप से चालू करना: सर्टिफ़िकेट ट्रांसपेरेंसी (सीटी) की सुविधा डिफ़ॉल्ट रूप से चालू रहती है. (Android 16 पर, सीटी की सुविधा उपलब्ध है, लेकिन ऐप्लिकेशन को ऑप्ट इन करना पड़ता था.)
- लोकल नेटवर्क की सुरक्षा: Android 17 या इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, लोकल नेटवर्क का ऐक्सेस डिफ़ॉल्ट रूप से ब्लॉक रहता है. अगर मुमकिन हो, तो निजता बनाए रखने वाले पिकर का इस्तेमाल करें. साथ ही, लगातार ऐक्सेस के लिए, ACCESS_LOCAL_NETWORK की नई अनुमति का इस्तेमाल करें.
- बैकग्राउंड में चलने वाले ऑडियो की सुरक्षा: Android 17 से, ऑडियो फ़्रेमवर्क, बैकग्राउंड में चलने वाले ऑडियो के इंटरैक्शन पर पाबंदियां लागू करता है. इनमें, ऑडियो चलाने, ऑडियो फ़ोकस के अनुरोध, और वॉल्यूम में बदलाव करने वाले एपीआई शामिल हैं. आपके सुझाव के आधार पर, हमने बीटा 2 वर्शन के बाद से कुछ बदलाव किए हैं. इनमें, इस्तेमाल के दौरान FGS लागू करने और अलार्म ऑडियो को छूट देने के साथ-साथ, targetSDK गेटिंग शामिल है. पूरी जानकारी, अपडेट किए गए दिशा-निर्देशों में उपलब्ध है.
ऐप्लिकेशन के लिए मेमोरी की सीमाएं
Android, डिवाइस की कुल रैम के आधार पर, ऐप्लिकेशन के लिए मेमोरी की सीमाएं तय कर रहा है. इससे, आपके ऐप्लिकेशन और Android इस्तेमाल करने वाले लोगों के लिए, ज़्यादा स्थिर और तय एनवायरमेंट बनाया जा सकेगा. Android 17 में, सिस्टम की बेसलाइन तय करने के लिए, सीमाएं तय की गई हैं. इनका मकसद, मेमोरी लीक होने और अन्य समस्याओं को ठीक करना है. ऐसा इसलिए, ताकि सिस्टम में अस्थिरता न आए. इससे यूज़र इंटरफ़ेस (यूआई) में गड़बड़ी, बैटरी ज़्यादा खर्च होने, और ऐप्लिकेशन बंद होने जैसी समस्याएं आ सकती हैं. हमें उम्मीद है कि इन बदलावों का असर, ज़्यादातर ऐप्लिकेशन सेशन पर नहीं पड़ेगा. हालांकि, हमारा सुझाव है कि मेमोरी के लिए सबसे सही तरीकों का पालन करें. इनमें, मेमोरी के लिए बेसलाइन तय करना शामिल है.
मौजूदा तरीके में, अगर आपके ऐप्लिकेशन पर असर पड़ा है, तो ApplicationExitInfo में getDescription में "MemoryLimiter" स्ट्रिंग शामिल होगी. मेमोरी की सीमा पूरी होने पर, हीप डंप पाने के लिए, TRIGGER_TYPE_ANOMALY के साथ ट्रिगर-आधारित प्रोफ़ाइलिंग का भी इस्तेमाल किया जा सकता है.
Android Studio Panda, मेमोरी लीक ढूंढने में आपकी मदद करता है. इसके लिए, यह Android Studio Profiler में सीधे तौर पर LeakCanary इंटिग्रेशन को एक खास टास्क के तौर पर जोड़ता है. इसे IDE में कॉन्टेक्स्चुअलाइज़ किया जाता है और यह आपके सोर्स कोड के साथ पूरी तरह से इंटिग्रेट होता है.
मेमोरी का कम इस्तेमाल होने से, परफ़ॉर्मेंस बेहतर होती है, बैटरी लाइफ़ बढ़ती है, और सभी फ़ॉर्म फ़ैक्टर में शानदार अनुभव मिलता है. आइए, 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 के स्टैंडर्ड के मुताबिक, ML-DSA (Module-Lattice-Based Digital Signature Algorithm) के लिए सपोर्ट जोड़ा है. सपोर्ट करने वाले डिवाइसों पर, ML-DSA कुंजियां जनरेट की जा सकती हैं. साथ ही, इनका इस्तेमाल करके, डिवाइस के सुरक्षित हार्डवेयर में, क्वांटम-सेफ़ सिग्नेचर बनाए जा सकते हैं. Android Keystore, ML-DSA-65 और ML-DSA-87 एल्गोरिदम के वैरिएंट को, Java Cryptographic Architecture के स्टैंडर्ड एपीआई के ज़रिए उपलब्ध कराता है: 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 के बीटा वर्शन के इस और आने वाले अपडेट, ओटीए (ओवर-द-एयर) पाने के लिए, सपोर्ट करने वाले किसी भी Pixel डिवाइस को रजिस्टर किया जा सकता है. अगर आपके पास Pixel डिवाइस नहीं है, तो Android Studio में Android Emulator के साथ 64-बिट सिस्टम इमेज का इस्तेमाल किया जा सकता है.
अगर आपने Android के बीटा प्रोग्राम के लिए रजिस्टर किया है, तो आपको बीटा 4 वर्शन का ओटीए (ओवर-द-एयर) अपडेट मिलेगा.
_सुझाव/राय या शिकायत पेज_ पर, _समस्याओं की शिकायत करें और सुविधाओं के लिए अनुरोध सबमिट करें_. हमें आपका सुझाव/राय या शिकायत जितनी जल्दी मिलेगी, हम फ़ाइनल रिलीज़ में उतना ही ज़्यादा शामिल कर पाएंगे.
Android 17 के साथ बेहतर डेवलपमेंट अनुभव पाने के लिए, हमारा सुझाव है कि आप Android Studio (Panda) के नए प्रीव्यू वर्शन का इस्तेमाल करें. सेटअप पूरा होने के बाद, आपको ये काम करने चाहिए:
- नए एसडीके के हिसाब से कंपाइल करें, सीआई एनवायरमेंट में टेस्ट करें, और सुझाव/राय या शिकायत पेज पर, हमारे ट्रैकर में समस्याओं की शिकायत करें.
- अपने मौजूदा ऐप्लिकेशन की कंपैटिबिलिटी की जांच करें. साथ ही, यह जानें कि Android 17 में किए गए बदलावों से आपके ऐप्लिकेशन पर असर पड़ा है या नहीं. इसके अलावा, Android 17 पर काम करने वाले किसी डिवाइस या एम्युलेटर पर अपना ऐप्लिकेशन इंस्टॉल करें और उसकी अच्छी तरह से जांच करें.
हम Android 17 की रिलीज़ साइकल के दौरान, प्रीव्यू/बीटा सिस्टम इमेज और एसडीके को समय-समय पर अपडेट करते रहेंगे. बीटा वर्शन इंस्टॉल करने के बाद, आपको बाद के सभी प्रीव्यू और बीटा वर्शन के लिए, ओटीए (ओवर-द-एयर) अपडेट अपने-आप मिलते रहेंगे.
पूरी जानकारी के लिए, Android 17 की डेवलपर साइट पर जाएं.
बातचीत में शामिल हों
आपका सुझाव/राय या शिकायत हमारे लिए सबसे अहम है. चाहे आप Canary चैनल पर अर्ली अडॉप्टर हों या बीटा 4 वर्शन पर टेस्ट करने वाले ऐप्लिकेशन डेवलपर हों, हमारी कम्यूनिटी में शामिल हों और सुझाव/राय या शिकायत सबमिट करें. हम आपकी बात सुन रहे हैं.
पढ़ना जारी रखें
-
प्रॉडक्ट से जुड़ी खबरें
आज The Android Show के दौरान, यह जानकारी दी गई कि Android, ऑपरेटिंग सिस्टम से इंटेलिजेंस सिस्टम में बदल रहा है. इससे, आपके ऐप्लिकेशन के साथ लोगों को जुड़ने के ज़्यादा अवसर मिलेंगे.
Matthew McCullough • पढ़ने में 4 मिनट लगेंगे
-
प्रॉडक्ट से जुड़ी खबरें
मोबाइल का नेटवर्क हमेशा बदलता रहता है. इससे नए अवसर और नए खतरे दोनों सामने आते हैं. इन बदलावों के बावजूद, Android और Google Play यह पक्का करने के लिए प्रतिबद्ध हैं कि अरबों लोग, भरोसे के साथ अपने ऐप्लिकेशन का इस्तेमाल कर सकें और डेवलपर के इनोवेशन को बढ़ावा मिल सके.
Vijaya Kaza • पढ़ने में 3 मिनट लगेंगे
-
प्रॉडक्ट से जुड़ी खबरें
Jetpack Compose का अप्रैल '26 वर्शन स्थिर है. इस वर्शन में, Compose के मुख्य मॉड्यूल का वर्शन 1.11 (BOM मैपिंग देखें), शेयर किए गए एलिमेंट के डीबग टूल, ट्रैकपैड इवेंट वगैरह शामिल हैं.
Meghan Mehta • पढ़ने में 5 मिनट लगेंगे
अप-टू-डेट रहें
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.