प्रॉडक्ट से जुड़ी खबरें

Android 17 का चौथा बीटा वर्शन

पढ़ने में 4 मिनट लगेंगे
Daniel Galpin
डेवलपर एडवोकेट

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

अपने ऐप्लिकेशन, लाइब्रेरी, टूल, और गेम इंजन को तैयार रखें!

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

Android17_Timeline_01_V02.png

टेस्टिंग के लिए, 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 के साथ ट्रिगर-आधारित प्रोफ़ाइलिंग का भी इस्तेमाल किया जा सकता है.

unnamed (2).png
Android Studio के प्रोफ़ाइलर में LeakCanary टास्क

मेमोरी लीक ढूंढने में आपकी मदद करने के लिए, Android Studio Panda, Android Studio के प्रोफ़ाइलर में सीधे तौर पर LeakCanary इंटिग्रेशन जोड़ता है. यह एक खास टास्क के तौर पर काम करता है. इसे आईडीई में कॉन्टेक्स्चुलाइज़ किया जाता है और यह आपके सोर्स कोड के साथ पूरी तरह से इंटिग्रेट होता है.

मेमोरी का कम इस्तेमाल होने से, परफ़ॉर्मेंस बेहतर होती है, बैटरी लाइफ़ बढ़ती है, और सभी फ़ॉर्म फ़ैक्टर में शानदार अनुभव मिलता है. आइए, 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 (मॉड्यूल-लैटिस-बेस्ड डिजिटल सिग्नेचर ऐल्गोरिदम) के लिएसपोर्ट जोड़ा गया है. सपोर्ट करने वाले डिवाइसों पर, ML-DSA कुंजियां जनरेट की जा सकती हैं. साथ ही, इनका इस्तेमाल करके, डिवाइस के सुरक्षित हार्डवेयर में, क्वांटम-सेफ़ सिग्नेचर बनाए जा सकते हैं. Android Keystore, ML-DSA-65 और ML-DSA-87 ऐल्गोरिदम के वैरिएंट को, Java Cryptographic Architecture के स्टैंडर्ड एपीआई के ज़रिए दिखाता है: KeyPairGeneratorKeyFactory, और 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 वर्शन पर टेस्ट करने वाले ऐप्लिकेशन डेवलपर, हमारी कम्यूनिटी में शामिल हों और सुझाव, राय या शिकायत सबमिट करें. हम आपकी बात सुन रहे हैं.

इसे लिखा है:

पढ़ना जारी रखें