यह पृष्ठ एंड्रॉइड 10 रिलीज़ में प्रमुख विशेषताओं का सारांश देता है, और अतिरिक्त जानकारी के लिंक प्रदान करता है। ये फीचर सारांश इस साइट पर फीचर के दस्तावेज़ीकरण स्थान के अनुसार व्यवस्थित किए गए हैं।
निर्माण
java_sdk_library
एंड्रॉइड 10 साझा जावा लाइब्रेरीज़ के लिए संगतता समस्याओं को ठीक करने के लिए एक नया बिल्ड नियम java_sdk_library
पेश करता है। डिवाइस निर्माता अपने एपीआई के लिए बैकवर्ड संगतता बनाए रखने के लिए अपने स्वयं के साझा जावा पुस्तकालयों के लिए इस तंत्र का उपयोग कर सकते हैं।
वास्तुकला
मॉड्यूलर सिस्टम घटक
एंड्रॉइड 10 कुछ एंड्रॉइड सिस्टम घटकों को मॉड्यूलराइज़ करता है और उन्हें सामान्य एंड्रॉइड रिलीज़ चक्र के बाहर अपडेट करने में सक्षम बनाता है। कुछ मॉड्यूल में शामिल हैं:
- एंड्रॉइड रनटाइम
- कॉन्स्क्रिप्ट
- डीएनएस रिज़ॉल्वर
- दस्तावेज़यूआई
- एक्स्टसर्विसेज
- मिडिया
- मॉड्यूलमेटाडेटा
- नेटवर्किंग
- अनुमति नियंत्रक
- समय क्षेत्र डेटा
हार्डवेयर अमूर्त परत (एचएएल)
एंड्रॉइड 10 एचएएल के लिए समर्थन जोड़ता है ताकि उनके पास कोई क्लाइंट न होने पर स्वचालित रूप से बंद हो जाए ।
गुठली
ए.बी.आई
एंड्रॉइड 10 में कर्नेल मॉड्यूल के साथ संगतता को प्रभावित करने वाले कर्नेल एबीआई परिवर्तनों की तुलना, ट्रैकिंग और कम करने में सहायता के लिए नई एबीआई निगरानी उपयोगिताओं के लिए समर्थन शामिल है।
एंड्रॉइड 10 एक प्रतीक-आधारित एबीआई उपयोग चेकर भी पेश करता है। चेकर निर्माण के समय पुरानी पूर्वनिर्मित बाइनरी का पता लगा सकता है, ताकि साझा लाइब्रेरी डेवलपर्स यह जान सकें कि उनके परिवर्तन से कौन सी पूर्वनिर्मित बाइनरी टूट सकती है और कौन सी पूर्वनिर्मित बाइनरी को फिर से बनाया जाना चाहिए।
एंड्रॉइड लाइव-लॉक डेमॉन
एंड्रॉइड 10 में एंड्रॉइड लाइव-लॉक डेमॉन (llkd) शामिल है, जिसे कर्नेल गतिरोध को पकड़ने और कम करने के लिए डिज़ाइन किया गया है।
ARM64 पर vDSO32
एंड्रॉइड 10 64-बिट कर्नेल पर vDSO32 का उपयोग करने का समर्थन करता है, जो बैटरी जीवन और अन्य प्रदर्शन सुधारों में 0.4 प्रतिशत की वृद्धि प्रदान करता है।
प्रारंभिक माउंटेड विभाजनों के लिए fstab प्रविष्टियाँ
एंड्रॉइड 10 को पहले चरण रैमडिस्क में एक fstab
फ़ाइल का उपयोग करके प्रारंभिक माउंटेड विभाजन के लिए fstab
प्रविष्टियों को निर्दिष्ट करने के लिए उपकरणों की आवश्यकता होती है।
छिपाना
ब्रॉडकास्टक्यू को ऑफलोड करें
एंड्रॉइड 10 में मौजूदा पृष्ठभूमि और अग्रभूमि कतारों में एक नया ऑफलोड BroadcastQueue
शामिल है। ऑफलोड कतार में पृष्ठभूमि कतार के समान प्राथमिकता और टाइमआउट व्यवहार होता है। पृष्ठभूमि कतार को अवरुद्ध करने से रोकने के लिए, जहां अधिक दिलचस्प या उपयोगकर्ता-दृश्य प्रसारण हो सकते हैं, ऑफलोड कतार BOOT_COMPLETED
प्रसारण को संभालती है, जिसे कई ऐप्स सुनते हैं और पूरा होने में लंबा समय लग सकता है। ऑफलोड कतार वर्तमान में केवल BOOT_COMPLETED
प्रसारण को संभालती है, लेकिन संभावित रूप से अन्य लंबे प्रसारणों को भी संभाल सकती है।
सिस्टमसस्पेंड सेवा
एंड्रॉइड 10 सिस्टम सस्पेंड शुरू करने के लिए जिम्मेदार libsuspend
में थ्रेड को SystemSuspend HIDL सेवा से बदल देता है। यह कार्यान्वयन एंड्रॉइड एचआईडीएल बुनियादी ढांचे से लाभ उठाते हुए पिछले संस्करणों के बराबर कार्यक्षमता प्रदान करता है।
HIDL में सेफ_यूनियन
एंड्रॉइड 10 ने HIDL में एक स्पष्ट रूप से टैग किया गया यूनियन प्रकार, safe_union
पेश किया है।
विन्यास
कॉन्फिगस्टोर एचएएल
एंड्रॉइड 10 उच्च मेमोरी खपत और कठिन उपयोग के कारण कॉन्फिगस्टोर एचएएल को हटा देता है, और एचएएल को सिस्टम गुणों से बदल देता है।
कॉन्फ़िग फ़ाइल स्कीमा एपीआई
एंड्रॉइड प्लेटफ़ॉर्म में कॉन्फ़िगरेशन डेटा संग्रहीत करने के लिए बड़ी संख्या में XML फ़ाइलें हैं। कई XML फ़ाइलें vendor
विभाजन में हैं, लेकिन वे system
विभाजन में पढ़ी जाती हैं। इस मामले में, XML फ़ाइल का स्कीमा दो विभाजनों में इंटरफ़ेस के रूप में कार्य करता है, और इसलिए स्कीमा को स्पष्ट रूप से निर्दिष्ट किया जाना चाहिए और पिछड़े-संगत तरीके से विकसित होना चाहिए। एंड्रॉइड 10 से पहले, प्लेटफ़ॉर्म XML स्कीमा को निर्दिष्ट करने और उपयोग करने या स्कीमा में असंगत परिवर्तनों को रोकने के लिए तंत्र प्रदान नहीं करता था। एंड्रॉइड 10 यह तंत्र प्रदान करता है, जिसे कॉन्फ़िग फ़ाइल स्कीमा एपीआई कहा जाता है।
एपीआई के रूप में सिस्टम गुण
विभाजनों में एक्सेस किए गए सिस्टम गुणों को sysprop
विवरण फ़ाइलों में योजनाबद्ध किया जाता है, और गुणों तक पहुंचने के लिए एपीआई C++ के लिए ठोस फ़ंक्शन और जावा के लिए कक्षाओं के रूप में उत्पन्न होते हैं।
विक्रेता इंटरफ़ेस (VINTF) ऑब्जेक्ट
विन्टफ़
Android 10 में VINTF में परिवर्तन में शामिल हैं:
- AVB संस्करण टैग को बहिष्कृत किया जा रहा है
- ओटीए पैकेज में कर्नेल जानकारी जोड़ना
- ODM का निर्माण आधिकारिक तौर पर प्रकट होता है
- उत्पाद अनुकूलता मैट्रिक्स जोड़ना
- बिल्ड सिस्टम में एचएएल मॉड्यूल के साथ एक मेनिफेस्ट प्रविष्टि को जोड़ना
बूटलोडर
रैमडिस्क
एंड्रॉइड 10 में, रूट फ़ाइल सिस्टम अब ramdisk.img
में शामिल नहीं है और इसके बजाय इसे system.img
में विलय कर दिया गया है।
ODM विभाजन बनाएँ
एंड्रॉइड 10 में एंड्रॉइड बिल्ड सिस्टम का उपयोग करके odm
विभाजन बनाने के लिए समर्थन शामिल है। आप अनुकूलन के लिए एक अलग /odm
विभाजन का उपयोग कर सकते हैं, जो आपको एकाधिक हार्डवेयर SKU के लिए एकल विक्रेता छवि का उपयोग करने में सक्षम बनाता है। यह मूल डिज़ाइन निर्माताओं (ओडीएम) को सिस्टम-ऑन-चिप (एसओसी) विक्रेता बोर्ड-सपोर्ट पैकेज (बीएसपी) को उनके विशिष्ट उपकरणों (उनके बोर्ड) में अनुकूलित करने में सक्षम बनाता है। वे बोर्ड-विशिष्ट घटकों, बोर्ड-विशिष्ट डेमॉन, या हार्डवेयर एब्स्ट्रैक्शन लेयर्स (एचएएल) पर अपनी सुविधाओं के लिए कर्नेल मॉड्यूल लागू कर सकते हैं। वे SoC घटकों को प्रतिस्थापित या अनुकूलित भी कर सकते हैं।
बूट छवि हेडर संस्करण
एंड्रॉइड 10 बूट इमेज हेडर को संस्करण 2 में अपडेट करता है, जिसमें डिवाइस ट्री ब्लॉब (डीटीबी) इमेज को स्टोर करने के लिए एक सेक्शन शामिल है। एंड्रॉइड 10 वीटीएस परीक्षण सत्यापित करते हैं कि एंड्रॉइड 10 के साथ लॉन्च होने वाले सभी डिवाइस बूट इमेज हेडर संस्करण 2 का उपयोग करते हैं और बूट/रिकवरी छवियों के हिस्से के रूप में एक वैध डीटीबी छवि शामिल करते हैं।
गैर-ए/बी उपकरणों के लिए पुनर्प्राप्ति छवियां
एंड्रॉइड 9 और उच्चतर में, डिवाइस की पुनर्प्राप्ति छवि में ओवरले छवि से जानकारी होनी चाहिए । डिवाइस निर्माता सभी गैर-खोज योग्य डिवाइसों का वर्णन करने के लिए डिवाइसट्री या उन्नत कॉन्फ़िगरेशन और पावर इंटरफ़ेस (एसीपीआई) का उपयोग कर सकते हैं। एंड्रॉइड 10 और उच्चतर में उन आर्किटेक्चर के लिए समर्थन शामिल है जो ओवरले (डीटीबीओ) के लिए डिवाइसट्री ब्लॉब के बजाय एसीपीआई का उपयोग करते हैं।
स्थिर एआईडीएल
एंड्रॉइड 10 स्थिर एंड्रॉइड इंटरफेस डेफिनिशन लैंग्वेज (एआईडीएल) के लिए समर्थन जोड़ता है, जो एआईडीएल इंटरफेस द्वारा प्रदान किए गए एप्लिकेशन प्रोग्राम इंटरफेस (एपीआई)/एप्लिकेशन बाइनरी इंटरफेस (एबीआई) का ट्रैक रखने का एक नया तरीका है।
फास्टबूट को उपयोगकर्ता स्थान पर ले जाएं
एंड्रॉइड 10 फास्टबूट कार्यान्वयन को बूटलोडर से उपयोगकर्ता स्थान पर स्थानांतरित करके आकार बदलने योग्य विभाजन के लिए समर्थन जोड़ता है।
प्रदर्शन
एचडीआर वीडियो प्लेबैक
एंड्रॉइड 10 HDR10, VP9 और HDR10+ प्लेबैक को सपोर्ट करता है।
पाठ वर्गीकरण
टेक्स्ट वर्गीकरण डेवलपर्स को टेक्स्ट को वर्गीकृत करने में मदद करने के लिए मशीन लर्निंग तकनीकों का उपयोग करता है। एंड्रॉइड 10 टेक्स्टक्लासिफायर एपीआई में दो तरीके पेश करता है: suggestConversationActions
और detectLanguage
। suggestConversationActions
विधि किसी दिए गए वार्तालाप से सुझाए गए उत्तर और क्रियाएं उत्पन्न करती है और detectLanguage
विधि पाठ की भाषा का पता लगाती है।
Zawgyi फ़ॉन्ट रेंडरिंग के लिए समर्थन
ज़ॉग्यी म्यांमार में सबसे लोकप्रिय फ़ॉन्ट है। Android 9 और उससे पहले का संस्करण Zawgyi रेंडरिंग का समर्थन नहीं करता क्योंकि यह यूनिकोड के अनुरूप नहीं है । एंड्रॉइड 10 एक यूनिकोड फ़ॉन्ट को शामिल करके इसे संबोधित करता है जो यूनिकोड बर्मीज़ और ज़ॉगी दोनों को एक साथ प्रस्तुत करने में सक्षम है। Android 10 के साथ लॉन्च होने वाले उपकरणों पर Zawgyi फ़ॉन्ट रेंडरिंग का समर्थन करने के लिए किसी कार्यान्वयन कार्य की आवश्यकता नहीं है। यदि आपके उपकरणों में Zawgyi का समर्थन करने के लिए एक कस्टम कार्यान्वयन है, तो आप यह कर सकते हैं:
- उन परिवर्तनों को पूर्ववत करें और प्लेटफ़ॉर्म-समर्थित पद्धति का उपयोग करें।
- अपने सिस्टम में सामान्य Zawgyi फ़ॉन्ट रखें और अपने
fonts.xml
में स्थानीय कोडmy-qaag
उपयोग करें। अधिक जानकारी के लिए, ज़ॉगी (क़ाग) पर यूनिकोड सीएलडीआर रिलीज़ नोट्स देखें।
ऐप आइकन छिपाने की सीमाएं
एंड्रॉइड 10 ऐप्स के लिए अपने लॉन्चर आइकन को छिपाने की क्षमता को सीमित करता है। यदि किसी ऐप में लॉन्चर गतिविधि सक्षम नहीं है, तो सिस्टम लॉन्चर में एक संश्लेषित गतिविधि प्रदर्शित करता है; यह संश्लेषित गतिविधि सिस्टम सेटिंग्स के भीतर ऐप के विवरण पृष्ठ का प्रतिनिधित्व करती है।
ऐप आइकन दिखाने के लिए उपयोग किए जाने वाले तर्क के बारे में अधिक जानकारी के लिए, उन ऐप्स के प्रकार सहित जिनके ऐप आइकन नहीं दिखाए गए हैं, एपीआई संदर्भ में getActivityList()
के लिए दस्तावेज़ देखें।
समायोजन
पहुंच में सुधार के लिए, एंड्रॉइड 10 में उपयोगकर्ता-अनुकूलन योग्य टाइमआउट सेटिंग्स शामिल हैं। एपीआई और सेटिंग्स में बदलाव एंड्रॉइड 10 के साथ आते हैं। यदि आप अपनी सेटिंग्स को कस्टमाइज़ करते हैं, तो सुनिश्चित करें कि यह सुविधा समर्थित है। यदि आपके डिवाइस पर यूआई तत्व हैं जो टाइम आउट हैं, तो उन पर टाइमआउट एपीआई का उपयोग करें। अधिक जानकारी के लिए, एंड्रॉइड डेवलपर एक्सेसिबिलिटी दिशानिर्देश देखें।
अनुकूलता
एंड्रॉइड संगतता परिभाषा दस्तावेज़ (सीडीडी)
एंड्रॉइड 10 संगतता परिभाषा दस्तावेज़ नई सुविधाओं के अपडेट और पहले जारी कार्यक्षमता के लिए आवश्यकताओं में बदलाव के साथ पिछले संस्करणों पर दोहराता है।
परीक्षण
संगतता परीक्षण सूट (सीटीएस)
एंड्रॉइड सीटीएस में एक अलग रिलीज नोट्स पेज है जो एंड्रॉइड 10 के लिए कई महत्वपूर्ण बदलावों को सूचीबद्ध करता है।
सीटीएस डाउनलोड
एंड्रॉइड 10 का समर्थन करने वाले सीटीएस पैकेज सीटीएस डाउनलोड पेज पर उपलब्ध हैं। शामिल परीक्षणों के स्रोत कोड को ओपन-सोर्स ट्री में android-cts-10_r1
टैग के साथ समन्वयित किया जा सकता है।
सीटीएस शिम एपेक्स
एंड्रॉइड 10 ने CtsShimApex
नामक एक पैकेज पेश किया है, जिसे APEX प्रबंधन के लिए CTS परीक्षण लिखने के लिए डिवाइस पर प्रीइंस्टॉल्ड होना चाहिए।
हार्नेस मोड का परीक्षण करें
सीटीएस परीक्षण हार्नेस मोड डेवलपर्स को किसी डिवाइस या उपकरणों के बेड़े के लिए परीक्षण स्वचालित करने में मदद करता है।
त्वरित ऐप्स मोड
एंड्रॉइड 10 में शुरू होकर, सीटीएस इंस्टेंट ऐप मोड में चलता है, जिसका अर्थ है टेस्ट एपीके को इंस्टेंट ऐप के रूप में इंस्टॉल करना और परीक्षण चलाना।
इंस्टेंट ऐप्स के लिए सीटीएस मोड के अलावा, एंड्रॉइड 10 में इंस्टेंट ऐप्स के लिए सीटीएस वेरिफायर भी शामिल है
सीटीएस सत्यापनकर्ता प्रो ऑडियो परीक्षण
एंड्रॉइड 10 प्रो ऑडियो अनुपालन के लिए सीटीएस सत्यापनकर्ता परीक्षण जोड़ता है।
सीटीएस सत्यापनकर्ता मिडी परीक्षण
एंड्रॉइड 10 में, CTS सत्यापनकर्ता MIDI परीक्षण USB MIDI इंटरफेस, ब्लूटूथ MIDI इंटरफेस और एक वर्चुअल MIDI डिवाइस पथ के साथ MIDI कार्यक्षमता का परीक्षण करता है।
सीटीएस परीक्षण व्याख्या
एंड्रॉइड 10 सीटीएस परिणामों की व्याख्या करने के लिए तंत्र को अपडेट करता है।
विक्रेता परीक्षण सूट (वीटीएस)
डिबग रैमडिस्क के साथ वीटीएस परीक्षण
एंड्रॉइड 10 में, जेनेरिक सिस्टम इमेज (जीएसआई) का उपयोग सीटीएस-ऑन-जीएसआई/वीटीएस अनुपालन परीक्षण को यूजरडिबग से यूजर बिल्ड प्रकार में बदलने के लिए किया जाता है, क्योंकि जीएसआई रिलीज हस्ताक्षरित है। हालाँकि, adb root
कमांड जो परीक्षण के तहत एंड्रॉइड डिवाइस को होस्ट रूट अनुमति देता है, उपयोगकर्ता बिल्ड में उपलब्ध नहीं है। यह एक समस्या है क्योंकि VTS को चलाने के लिए adb root
आवश्यकता होती है।
यदि डिवाइस अनलॉक है, तो adb root
संभव बनाने के लिए डिबग रैमडिस्क पेश किया गया है। यह समान उपयोगकर्ता बिल्ड system.img
(या तो GSI या OEM का system.img
) का पुन: उपयोग करके परीक्षण प्रवाह को सरल बनाता है।
हार्डवेयर संगीतकार सत्यापन
एंड्रॉइड 10 IComposerClient.hal
में readback
इंटरफ़ेस के माध्यम से हार्डवेयर कंपोज़र सत्यापन के लिए एक नया वीटीएस टेस्ट क्लास जोड़ता है। यदि विक्रेता readback
लागू नहीं करते हैं, तो परीक्षण स्वचालित रूप से पास हो जाते हैं।
डिबगिंग
विभिन्न क्लास लोडर के साथ साझा लाइब्रेरी लोड करें
एंड्रॉइड 9 और उससे पहले के संस्करण में, ऐप्स ने अपने लिंक किए गए जावा साझा लाइब्रेरीज़ को ऐप के क्लास लोडर में लोड किया। एंड्रॉइड 10 में, फ्रेमवर्क uses-library
या uses-static-library
माध्यम से लिंक की गई जावा साझा लाइब्रेरी को लोड करने के लिए ऐप के क्लास लोडर की तुलना में एक अलग क्लास लोडर का उपयोग करता है।
सामान्य तौर पर, ऐप्स को किसी विशिष्ट क्लास लोडर के उपयोग पर निर्भर नहीं रहना चाहिए, इसलिए इस परिवर्तन से ऐप का व्यवहार नहीं टूटना चाहिए। हालाँकि, यदि कोई ऐप एकल क्लास लोडर का उपयोग करने पर निर्भर करता है, तो वह व्यवहार टूट जाता है। इसके अतिरिक्त, उसी पैकेज में कक्षाओं की पैकेज-निजी दृश्यता अभी भी समर्थित है, लेकिन साझा पुस्तकालयों में समर्थित नहीं है।
डिवाइस निर्माता एंड्रॉइड 10 पर चलने वाले अपने डिवाइस का परीक्षण करते समय ऐप संगतता समस्याएं देख सकते हैं।
सुरक्षा विशेषताएं
केवल सुरक्षा और गोपनीयता से संबंधित संवर्द्धन की अधिक संपूर्ण सूची के लिए, Android 10 सुरक्षा और गोपनीयता संवर्द्धन पृष्ठ देखें।
चेहरा प्रमाणीकरण
फेस प्रमाणीकरण उपयोगकर्ताओं को केवल अपने डिवाइस के सामने देखकर अपने डिवाइस को अनलॉक करने की अनुमति देता है। एंड्रॉइड 10 एक नए फेस ऑथेंटिकेशन स्टैक के लिए समर्थन जोड़ता है जो समर्थित हार्डवेयर पर फेस ऑथेंटिकेशन के दौरान सुरक्षा और गोपनीयता को संरक्षित करते हुए कैमरा फ्रेम को सुरक्षित रूप से संसाधित कर सकता है। एंड्रॉइड 10 ऑनलाइन बैंकिंग या अन्य सेवाओं जैसे लेनदेन के लिए ऐप एकीकरण को सक्षम करने के लिए सुरक्षा-अनुरूप कार्यान्वयन का एक आसान तरीका भी प्रदान करता है।
विस्तारित पहुंच
ट्रस्ट एजेंट, स्मार्ट लॉक जैसे तृतीयक प्रमाणीकरण तंत्र द्वारा उपयोग किया जाने वाला अंतर्निहित तंत्र, केवल एंड्रॉइड 10 में अनलॉक का विस्तार कर सकता है। ट्रस्ट एजेंट अब लॉक किए गए डिवाइस को अनलॉक नहीं कर सकते हैं और केवल अधिकतम चार घंटे के लिए डिवाइस को अनलॉक रख सकते हैं।
कूटलेखन
ओईएमक्रिप्टो
एंड्रॉइड 10 OEMCrypto API संस्करण 15 का उपयोग करता है।
परिक्षण
बाउंडसैनिटाइज़र
एंड्रॉइड 10 ब्लूटूथ और कोडेक्स में बाउंडसैनिटाइज़र (बाउंडसैन) को तैनात करता है। बाउंडसैन यूबीसैन के बाउंड्स सैनिटाइज़र का उपयोग करता है। यह शमन प्रति-मॉड्यूल स्तर पर सक्षम है। यह एंड्रॉइड के महत्वपूर्ण घटकों को सुरक्षित रखने में मदद करता है और इसे अक्षम नहीं किया जाना चाहिए। बाउंडसन निम्नलिखित कोडेक्स में सक्षम है:
-
libFLAC
-
libavcdec
-
libavcenc
-
libhevcdec
-
libmpeg2
-
libopus
-
libvpx
-
libspeexresampler
-
libvorbisidec
-
libaac
-
libxaac
पूर्णांक अतिप्रवाह स्वच्छता
एंड्रॉइड 10 सॉफ्टवेयर कोडेक्स में इंटीजर ओवरफ्लो सैनिटाइजेशन (इंटसैन) को सक्षम करता है। सुनिश्चित करें कि प्लेबैक प्रदर्शन किसी भी कोडेक्स के लिए स्वीकार्य है जो डिवाइस के हार्डवेयर में समर्थित नहीं है। IntSan निम्नलिखित कोडेक्स में सक्षम है:
-
libFLAC
-
libavcdec
-
libavcenc
-
libhevcdec
-
libmpeg2
-
libopus
-
libvpx
-
libspeexresampler
-
libvorbisidec
केवल-स्मृति निष्पादित करें
डिफ़ॉल्ट रूप से, AArch64 सिस्टम बायनेरिज़ के लिए निष्पादन योग्य कोड अनुभागों को समय-समय पर कोड पुन: उपयोग हमलों के खिलाफ सख्त शमन के रूप में केवल-निष्पादित (नॉन-रीडेबल) के रूप में चिह्नित किया जाता है। वह कोड जो डेटा और कोड को एक साथ मिलाता है और वह कोड जो जानबूझकर इन अनुभागों का निरीक्षण करता है (पहले मेमोरी सेगमेंट को पढ़ने योग्य के रूप में रीमैप किए बिना) अब काम नहीं करता है। एंड्रॉइड 10 (एपीआई स्तर 29 या उच्चतर) के लक्ष्य एसडीके वाले ऐप्स प्रभावित होते हैं यदि ऐप पहले अनुभाग को पढ़ने योग्य के रूप में चिह्नित किए बिना मेमोरी में एक्ज़ीक्यूट-ओनली मेमोरी (एक्सओएम) सक्षम सिस्टम लाइब्रेरी के कोड अनुभागों को पढ़ने का प्रयास करता है।
स्कूडो
स्कूडो एक गतिशील उपयोगकर्ता-मोड मेमोरी एलोकेटर है जिसे ढेर-संबंधित कमजोरियों के खिलाफ अधिक लचीला बनाया गया है। यह मानक C आवंटन और डीलोकेशन प्रिमिटिव, साथ ही C++ प्रिमिटिव प्रदान करता है।
शैडोकॉलस्टैक
ShadowCallStack
(एससीएस) एक एलएलवीएम इंस्ट्रुमेंटेशन मोड है जो नॉनलीफ़ फ़ंक्शंस के फ़ंक्शन प्रोलॉग में फ़ंक्शन के रिटर्न एड्रेस को एक अलग आवंटित ShadowCallStack
इंस्टेंस में सहेजकर और ShadowCallStack
इंस्टेंस से रिटर्न एड्रेस को लोड करके रिटर्न एड्रेस ओवरराइट (जैसे स्टैक बफर ओवरफ्लो) से बचाता है। फ़ंक्शन एपिलॉग.
ऑडियो
ऑडियो एचएएल
एंड्रॉइड 10 में ऑडियो एचएएल के लिए निम्नलिखित नई क्षमताएं शामिल हैं।
-
AudioSource
-
AudioFormat
-
AudioChannelMask
ऑडियो एचएएल और सबसिस्टम कार्यान्वयन के लिए अतिरिक्त आवश्यकताएं जोड़ी गई हैं।
प्रीप्रोसेसिंग प्रभाव
एंड्रॉइड प्रीप्रोसेसिंग प्रभाव प्रदान करता है, जैसे ध्वनिक इको रद्दीकरण, स्वचालित लाभ नियंत्रण और शोर दमन। एंड्रॉइड 10 में VOICE_COMMUNICATION
के साथ कैप्चरिंग के लिए नई आवश्यकताएं शामिल हैं।
ऑडियो नीति प्रबंधक
एंड्रॉइड 10 में जटिल ऑटोमोटिव उपयोग के मामलों का समर्थन करने के लिए अधिक लचीलापन प्रदान करने के लिए ऑडियो नीति प्रबंधक का एक महत्वपूर्ण रीफैक्टरिंग शामिल है।
उच्च-रिज़ॉल्यूशन ऑडियो
एंड्रॉइड 10 में उच्च-रिज़ॉल्यूशन ऑडियो के लिए निम्नलिखित सुधार शामिल हैं।
- फ़्लोट समर्थन
- 192 KHz आवृत्ति समर्थन
- आठ-चैनल समर्थन
- समय की जानकारी का समावेश
समवर्ती कब्जा
एंड्रॉइड 10 समवर्ती कैप्चर उपयोगकर्ता अनुभव को बेहतर बनाता है जिसके लिए एक साथ होने के लिए एक से अधिक सक्रिय ऑडियो कैप्चर की आवश्यकता होती है।
ऑडियोप्लेबैककैप्चर
एंड्रॉइड 10 में AudioPlaybackCapture
नामक एक नया एपीआई शामिल है, जो ऐप्स को अन्य ऐप्स द्वारा चलाए जा रहे ऑडियो को कॉपी करने की क्षमता देता है। यह सुविधा स्क्रीन कैप्चर के समान है, लेकिन ऑडियो के लिए। प्राथमिक उपयोग का मामला स्ट्रीमिंग ऐप्स को गेम द्वारा चलाए जा रहे ऑडियो को कैप्चर करने में सक्षम बनाना है।
कैप्चर एपीआई उस ऐप की विलंबता को प्रभावित नहीं करता है जिसका ऑडियो कैप्चर किया जा रहा है।
मिडी
एंड्रॉइड 10 MIDI का उपयोग करके पेशेवर ऑडियो ऐप्स को AMidi
NDK API का उपयोग करके एंड्रॉइड प्लेटफ़ॉर्म पर पोर्ट करना आसान बनाता है।
कैमरा
एंड्रॉइड 10 में पेश किए गए कैमरा एपीआई, कैमरा एचएएल और कैमरा मॉड्यूल में बदलावों के सारांश के लिए, एंड्रॉइड 10 कैमरा अपडेट देखें।
कैमरा फ्रेमवर्क गोपनीयता में सुधार
एंड्रॉइड 10 कैमरा फ्रेमवर्क में गोपनीयता संवर्द्धन पेश करता है। उपयोगकर्ता की सहमति के बिना CameraCharacteristics
में संभावित रूप से संवेदनशील स्थिर कैमरा जानकारी को उजागर करने से बचने के लिए, ऐप्स को getCameraCharacteristics
विधि का उपयोग करके गोपनीयता-संवेदनशील टैग के साथ स्थिर मेटाडेटा पुनर्प्राप्त करने के लिए CAMERA
अनुमति प्राप्त करनी होगी।
कैमरा विशेषता कुंजियों की सूची प्राप्त करने के लिए जिनके लिए CAMERA
अनुमति की आवश्यकता होती है, getKeysNeedingPermission
विधि को कॉल करें।
सत्र पुनर्विन्यास क्वेरी
एंड्रॉइड 10 एक सत्र पुनर्संरचना क्वेरी सुविधा जोड़ता है, जो आंतरिक सत्र पैरामीटर पुनर्विन्यास तर्क पर अधिक नियंत्रण के माध्यम से बेहतर प्रदर्शन की अनुमति देता है।
कैमरा HAL3 बफ़र प्रबंधन API
एंड्रॉइड 10 वैकल्पिक कैमरा HAL3 बफर प्रबंधन एपीआई पेश करता है जो आपको कैमरा HAL कार्यान्वयन में विभिन्न मेमोरी प्राप्त करने और विलंबता ट्रेडऑफ़ को कैप्चर करने के लिए बफर प्रबंधन तर्क को लागू करने की अनुमति देता है।
कैमरा एचएएल गतिशील भौतिक कैमरा स्विच
एंड्रॉइड 10 एक गतिशील मेटाडेटा टैग, ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID
पेश करता है, जो एक तार्किक कैमरा डिवाइस के सक्रिय अंतर्निहित भौतिक कैमरे को इंगित करता है। अधिक जानकारी के लिए मल्टी-कैमरा सपोर्ट देखें।
भौतिक कैमरे छिपाने के लिए समर्थन
एंड्रॉइड 10 में, कैमरा एचएएल उन भौतिक कैमरों की संख्या को कम कर सकता है जिन्हें किसी ऐप द्वारा सीधे खोला जा सकता है। अधिक विवरण के लिए, मल्टी-कैमरा सपोर्ट देखें।
कैमरा2 वीएनडीके एपीआई
एंड्रॉइड 10 में, विक्रेता मॉड्यूल दो नए मानक HIDL इंटरफेस, android.frameworks.cameraservice.service@2.0
और android.frameworks.cameraservice.device@2.0
के माध्यम से कैमरा डिवाइस तक पहुंच और नियंत्रण कर सकते हैं। HIDL इंटरफेस के उपयोग को और अधिक सुविधाजनक बनाने के लिए, एंड्रॉइड 10 एक विक्रेता-उपलब्ध लाइब्रेरी, libcamera2_vendor
भी पेश करता है। यह लाइब्रेरी कुछ मामूली संशोधनों के साथ कैमरा एनडीके लाइब्रेरी के समान है।
स्ट्रीम कॉन्फ़िगरेशन
एंड्रॉइड 10 ऐसी सुविधाएं जोड़ता है जो कैमरा विक्रेताओं को कैमरा क्लाइंट के लिए अनुशंसित कैमरा स्ट्रीम का विज्ञापन करने और स्ट्रीम संयोजनों को क्वेरी करने के लिए एपीआई का समर्थन करने की अनुमति देता है।
कैमरा स्ट्रीम संयोजन आवश्यकताएँ
एंड्रॉइड 10 चलाने वाले उपकरणों को अब भौतिक सबकैमरा स्ट्रीम के साथ स्ट्रीम संयोजन का समर्थन करने की आवश्यकता नहीं है। हालाँकि, कैमरे के साथ एंड्रॉइड 10 चलाने वाले एचएएल डिवाइस संस्करण 3.5 को ऐप्स को क्वेरी करने की अनुमति देने के लिए isStreamCombinationSupported()
का समर्थन करना चाहिए कि भौतिक स्ट्रीम वाला स्ट्रीम संयोजन समर्थित है या नहीं।
अधिक जानकारी के लिए मल्टी-कैमरा सपोर्ट देखें।
HEIF इमेजिंग
एंड्रॉइड 10 उच्च दक्षता छवि फ़ाइल प्रारूप (HEIF) छवियों के लिए देशी कैमरा समर्थन प्रदान करता है, जो JPEG छवियों की तुलना में बेहतर छवि गुणवत्ता और छोटे आकार प्रदान करता है। HEIF छवियों का समर्थन करने के लिए उपकरणों में HEIC या HEVC एनकोडर होना चाहिए।
मोनोक्रोम कैमरे
एंड्रॉइड 10 Y8 स्ट्रीम प्रारूप, मोनोक्रोम और निकट-अवरक्त (एनआईआर) रंग फ़िल्टर सरणी स्थिर मेटाडेटा और मोनोक्रोम कैमरों के लिए DngCreator
फ़ंक्शन के लिए अतिरिक्त समर्थन प्रदान करता है।
कनेक्टिविटी
कॉलिंग और मैसेजिंग
आपातकालीन नंबर और आपातकालीन कॉलिंग
एंड्रॉइड 10 आपातकालीन कॉलिंग के लिए बेहतर समर्थन प्रदान करता है। आपात स्थिति में, IRadio HAL v1.4 के समर्थन वाले उपकरण सिम कार्ड, नेटवर्क सिग्नल या एंड्रॉइड डेटाबेस जैसे स्रोत से प्राप्त आपातकालीन नंबरों का उपयोग करके आपातकालीन कॉल शुरू कर सकते हैं। नंबरों को पुलिस, अग्निशमन और एम्बुलेंस जैसी आपातकालीन सेवा श्रेणियों के आधार पर वर्गीकृत किया जा सकता है।
समूह कॉल एपीआई
ग्रुप कॉल एपीआई एंड्रॉइड 9 में जोड़े गए ईएमबीएमएस एपीआई का एक विस्तार है। नए एपीआई ईएमबीएमएस मिडलवेयर पैकेज के साथ इंटरैक्ट करके सेल-ब्रॉडकास्ट ग्रुप कॉल में शामिल होने और प्रसारित करने के लिए ऐप्स के लिए एक मानक परिभाषित करते हैं। समूह कॉल को ठीक से काम करने के लिए चिपसेट विक्रेता, मिडलवेयर विक्रेता और सेल वाहक से समर्थन की आवश्यकता होती है। डेवलपर दस्तावेज़ डेवलपर.google.com पर स्थित है।
रिमोट सिम क्षमताएं
एंड्रॉइड 10 रिमोट सिम क्षमताओं को पेश करता है जो एंड्रॉइड होस्ट डिवाइस पर मैसेजिंग ऐप्स को ब्लूटूथ जैसे तंत्र का उपयोग करके फोन के माध्यम से एसएमएस संदेश भेजने की अनुमति देता है। अधिक जानकारी के लिए, getSubscriptionType
विधि और SUBSCRIPTION_TYPE_REMOTE_SIM
स्थिरांक के लिए संदर्भ दस्तावेज़ देखें।
एकाधिक eSIM
एंड्रॉइड 10 में, EuiccManager
वर्ग एकाधिक एम्बेडेड सिम (eSIM) , या eUICCs वाले उपकरणों का समर्थन करता है।
eSIM अपडेट
एंड्रॉइड 10 चलाने वाले उपकरणों के लिए जो eSIM का समर्थन करते हैं, एक गैर-हटाने योग्य eUICC स्लॉट आईडी सरणी को परिभाषित किया जाना चाहिए। डिवाइस को IRadio HAL v1.4 और IRadioConfig HAL v1.2 का भी समर्थन करना चाहिए। अधिक जानकारी के लिए, eSIM और HAL आवश्यकताएँ लागू करना देखें।
5जी नॉन-स्टैंडअलोन (एनएसए)
Android 10 5G नॉन-स्टैंडअलोन (NSA) के लिए समर्थन जोड़ता है। 5जी एनएसए 5जी नेटवर्क के लिए एक समाधान है जहां नेटवर्क मौजूदा 4जी बुनियादी ढांचे द्वारा समर्थित है। एंड्रॉइड 10 पर, जब कोई डिवाइस 5G नेटवर्क से कनेक्ट होता है तो डिवाइस स्टेटस बार पर 5G आइकन प्रदर्शित कर सकता है।
फ़ोन खाता सुझाव
एंड्रॉइड 10 ने फ़ोन खाता सुझाव सेवा पेश की है, जो कॉल करते समय उपयोगकर्ताओं को फ़ोन खातों के सुझाव दिखाने की अनुमति देती है।
वाहक
मोबाइल नेटवर्क सेटिंग माइग्रेट करें
एंड्रॉइड 10 ने मोबाइल नेटवर्क सेटिंग्स यूआई कोड को फिर से डिज़ाइन किया और इसे टेलीफोनी स्टैक से सेटिंग्स स्टैक में स्थानांतरित कर दिया। माइग्रेट किए गए कोड का समर्थन करने के लिए, निम्नलिखित मोबाइल नेटवर्क सेटिंग्स कॉन्फ़िगरेशन मानों को Android संसाधनों से CarrierConfig
संसाधनों में बदलें:
config_world_mode
-> CarrierConfigManager#KEY_WORLD_MODE_ENABLED_BOOL
config_support_tdscdma
-> CarrierConfigManager#KEY_SUPPORT_TDSCDMA_BOOL
config_support_tdscdma_roaming_on_networks
-> CarrierConfigManager#KEY_SUPPORT_TDSCDMA_ROAMING_NETWORKS_STRING_ARRAY
config_enabled_lte
-> CarrierConfigManager#KEY_LTE_ENABLED_BOOL
डिवाइस पहचानकर्ता
स्थायी डिवाइस पहचानकर्ता (आईएमईआई/एमईआईडी, आईएमएसआई, और बिल्ड सीरियल) को एक विशेषाधिकार प्राप्त अनुमति द्वारा संरक्षित किया जाता है, साथ ही डिवाइस और प्रोफ़ाइल स्वामी ऐप्स तक पहुंच भी प्रदान की जाती है। क्योंकि आईएमएसआई और सिम सीरियल नंबर वाहक द्वारा प्रदान किए गए हैं, इन पहचानकर्ताओं तक पहुंच वाहक विशेषाधिकार वाले पैकेजों को दी जाती है।
वाईफ़ाई
नेटवर्क का चयन
एंड्रॉइड लगातार कनेक्टेड नेटवर्क की गुणवत्ता का मूल्यांकन करता है और उपलब्ध नेटवर्क की गुणवत्ता का आकलन करता है। एंड्रॉइड 10 में वाई-फाई नेटवर्क के बीच चयन और स्विच करने के लिए एल्गोरिदम और प्रक्रियाएं अपडेट की गई हैं।
वाई-फाई पसंदीदा नेटवर्क ऑफलोड स्कैनिंग
एंड्रॉइड 10 ने WifiManager
में setDeviceMobilityState()
नामक एक वैकल्पिक एपीआई विधि पेश की है जो बिजली के उपयोग को कम करने के लिए डिवाइस के स्थिर होने पर पसंदीदा नेटवर्क ऑफलोड (पीएनओ) स्कैन के बीच अंतराल को बढ़ाती है।
कैरियर वाई-फ़ाई
एंड्रॉइड 10 में, कैरियर वाई-फाई सुविधा वाले डिवाइस स्वचालित रूप से कॉन्फ़िगर किए गए कैरियर वाई-फाई नेटवर्क (सार्वजनिक कुंजी प्रमाणपत्र वाले नेटवर्क) से कनेक्ट होते हैं।
वाई-फाई आसान कनेक्ट
एंड्रॉइड 10 में, डिवाइस वाई-फाई ईज़ी कनेक्ट का उपयोग कर सकते हैं, जो वाई-फाई उपकरणों को प्रावधान और कॉन्फ़िगर करने के लिए वाई-फाई एलायंस (डब्ल्यूएफए) द्वारा शुरू किए गए डिवाइस प्रोविजनिंग प्रोटोकॉल (डीपीपी) का उपयोग करता है।
वाई-फ़ाई कम-विलंबता मोड
एंड्रॉइड 10 एक वाई-फाई लो-लेटेंसी मोड पेश करता है, जो विलंबता को कम करने के लिए वाई-फाई चिप को कॉन्फ़िगर करता है।
अद्यतन डीएचसीपी सर्वर
"आईपी सर्वर" सेवा अंब्रेला के निर्माण के भाग के रूप में, dnsmasq
हटाया जा रहा है। एंड्रॉइड 10 अपने DHCPv4 सर्वर कार्यात्मक उपयोग को एक अलग घटक के साथ बदल देता है, जो मुख्य रूप से जावा फ्रेमवर्क नियंत्रण विमान के साथ बेहतर एकीकरण के लिए जावा में लिखा गया है। यह डीएचसीपी सर्वर के लिए सुरक्षा और अद्यतन क्षमता में सुधार करता है। अधिक विवरण के लिए, packages/modules/NetworkStack/src/android/net/dhcp/DhcpServer.java
देखें।
इस परिवर्तन को लागू करने के लिए किसी कार्रवाई की आवश्यकता नहीं है: एंड्रॉइड 10 जारी करने और अपग्रेड करने वाले सभी डिवाइस डिफ़ॉल्ट रूप से DhcpServer
उपयोग करते हैं। यदि आपके पास डीएचसीपी सर्वर में अनुकूलन है, तो आप वैश्विक सेटिंग tether_enable_legacy_dhcp_server=1
सेट करके एंड्रॉइड 9 व्यवहार पर वापस लौट सकते हैं। नया DhcpServer
नेटवर्किंग घटक मॉड्यूल में शामिल है, इसलिए DHCP सर्वर कार्यक्षमता के लिए किसी भी अनुकूलन को अपस्ट्रीम किया जाना चाहिए।
WPA3 और वाई-फाई एन्हांस्ड ओपन
एंड्रॉइड 10 ज्ञात हमलों के खिलाफ बेहतर गोपनीयता और मजबूती प्रदान करने के लिए वाई-फाई संरक्षित एक्सेस 3 (डब्ल्यूपीए 3) और वाई-फाई एन्हांस्ड ओपन सुरक्षा मानकों के लिए समर्थन जोड़ता है।
Wi-Fi डायरेक्ट
वाई-फाई डायरेक्ट , जिसे वाई-फाई पी2पी के रूप में भी जाना जाता है, सहायक उपकरणों को इंटरनेट या सेलुलर नेटवर्क एक्सेस के बिना वाई-फाई डायरेक्ट प्रोटोकॉल का उपयोग करके सीधे एक दूसरे को खोजने और कनेक्ट करने की अनुमति देता है।
मैक यादृच्छिकीकरण संवर्द्धन
एंड्रॉइड 10 से, क्लाइंट मोड, सॉफ्टएप और वाई-फाई डायरेक्ट के लिए मैक रैंडमाइजेशन डिफ़ॉल्ट रूप से सक्षम है। डिवाइस को सिस्टम यूआई में प्रत्येक एसएसआईडी के लिए मैक रैंडमाइजेशन को सक्षम या अक्षम करने का विकल्प प्रदान करना होगा।
पासप्वाइंट आर2
Android 10 ने Passpoint R2 सुविधाओं के लिए समर्थन पेश किया है। पासपॉइंट आर2 ऑनलाइन साइन अप (ओएसयू) लागू करता है, जो नए पासपॉइंट प्रोफाइल को प्रावधान करने की एक मानक विधि है। एंड्रॉइड 10 SOAP-XML का उपयोग करके EAP-TTLS प्रोफाइल के प्रावधान का समर्थन करता है।
एनएफसी
सुरक्षित एनएफसी
सुरक्षित एनएफसी ऑफ-होस्ट एनएफसी कार्ड इम्यूलेशन को केवल तभी सक्षम करने की अनुमति देता है जब डिवाइस की स्क्रीन अनलॉक हो। इस सुविधा को लागू करने से उपयोगकर्ताओं को बेहतर सुरक्षा के लिए सिक्योर एनएफसी सक्षम करने का विकल्प मिलता है।
Android बीम अस्वीकृत
एंड्रॉइड 10 में, एंड्रॉइड बीम की अब आवश्यकता नहीं है और निम्नलिखित इंटरफेस और तरीकों को हटा दिया गया है।
इंटरफ़ेस:
-
NfcAdapter.CreateBeamUrisCallback
-
NfcAdapter.CreateNdefMessageCallback
-
NfcAdapter.OnNdefPushCompleteCallback
तरीके:
-
createBeamUris
-
invokeBeam
-
isNdefPushEnabled
-
setBeamPushUris
-
setBeamPushUrisCallback
-
setNdefPushMessage
-
setNdefPushMessageCallback
-
setOnNdefPushCompleteCallback
-
createNdefMessageCallback
-
onNdefPushCompleteCallback
एंड्रॉइड बीम का उपयोग करने के लिए, android.sofware.nfc.beam
सुविधा स्थिरांक की रिपोर्ट करें।
GRAPHICS
ASsurfaceControl
Android 10 ASurfaceControl
जोड़ता है, जो SurfaceFlinger
के लिए बफ़र्स स्वीकार करने का एक नया तरीका है।
ग्राफ़िक्स कार्यान्वयन
ओपनजीएल ईएस परतें
Android 10 GLES के लिए एक लेयरिंग सिस्टम पेश करता है।
ईजीएल 1.5
एंड्रॉइड 10 ईजीएल 1.5 इंटरफ़ेस लागू करता है। ईजीएल 1.5 में नई सुविधाओं की जानकारी के लिए, ख्रोनोस रिलीज़ ईजीएल 1.5 विशिष्टता देखें।
वल्कन
एंड्रॉइड 10 में वल्कन 1.1 ग्राफिक्स के लिए समर्थन शामिल है। प्लेटफ़ॉर्म VK_KHR_swapchain
v70 को भी सपोर्ट करता है, इसलिए वल्कन ऐप स्वैपचेन मेमोरी द्वारा समर्थित VkImage
बनाने में सक्षम है।
प्रदर्शन ताज़ा दर
एंड्रॉइड 10 प्रदर्शन ताज़ा दर के लिए समर्थन जोड़ता है। यह सुविधा डिफ़ॉल्ट रूप से बंद है.
इंटरैक्शन
ऑटोमोटिव
ऑटोमोटिव ऑडियो
एंड्रॉइड 10 में, ऑडियो एचएएल संदर्भ ध्वनियों की पहचान करने के लिए AudioAttributes.usage
पर मैप करता है। एंड्रॉइड प्रति संदर्भ एक AUDIO_DEVICE_OUT_BUS
इंस्टेंस का समर्थन करता है। IAudioControl
HAL ऑडियो HAL को वाहन-विशिष्ट एक्सटेंशन प्रदान करता है।
संकेतात्मक नेविगेशन
एंड्रॉइड 10 पूरी तरह से जेस्चरल सिस्टम नेविगेशन के लिए एक विकल्प पेश करता है। इस सुविधा का उपयोग करने के लिए ऐप्स कैसे तैयार करें, इसकी जानकारी के लिए एंड्रॉइड डेवलपर साइट पर जेस्चरल नेविगेशन पेज देखें।
तंत्रिका - तंत्र
एंड्रॉइड 10 न्यूरल नेटवर्क्स एपीआई और न्यूरल नेटवर्क्स एचएएल के लिए अपडेट पेश करता है। परिवर्तनों के सारांश के लिए, तंत्रिका नेटवर्क देखें।
Android 10 के लिए नया और अद्यतन न्यूरल नेटवर्क दस्तावेज़ीकरण:
- अवलोकन
- एहार्डवेयरबफ़र
- बर्स्ट निष्पादन और तेज़ संदेश कतारें
- संकलन कैशिंग
- डिवाइस डिस्कवरी और असाइनमेंट
- विक्रेता एक्सटेंशन
सेंसर
सेंसर एचएएल 2.0
सेंसर्स HAL 2.0, HAL से एंड्रॉइड सेंसर फ्रेमवर्क में सेंसर इवेंट भेजने के लिए तेज़ संदेश कतारों (FMQs) का उपयोग करने का समर्थन करता है।
सेंसर बंद
एंड्रॉइड 10 में डिवाइस पर सभी सेंसर बंद करने के लिए एक डेवलपर सेटिंग शामिल है। यह सुविधा डेवलपर्स को उन स्थितियों में अपने ऐप की कार्यक्षमता का परीक्षण करने में मदद करती है जहां वे सेंसर अनुपलब्ध हो जाते हैं, और उपयोगकर्ताओं को अपने डिवाइस में सेंसर को नियंत्रित करने का एक तरीका भी देता है।
यदि आपके डिवाइस SensorService
, CameraService
, और AudioPolicyService
के डिफ़ॉल्ट कार्यान्वयन का उपयोग करते हैं, तो संदर्भ डिज़ाइन के लिए किसी अतिरिक्त अनुकूलन की आवश्यकता नहीं है। यदि आपके पास अन्य सेंसर हैं, तो इस सुविधा का समर्थन करने के बारे में अधिक जानकारी के लिए अनुकूलन देखें।
मिडिया
अद्यतन करने योग्य मीडिया घटक
एंड्रॉइड 10 अपडेट करने योग्य मीडिया घटक प्रदान करता है जो Google Play Store बुनियादी ढांचे के माध्यम से या पार्टनर-प्रदत्त ओवर-द-एयर (ओटीए) तंत्र के माध्यम से मीडिया-संबंधित मॉड्यूलर सिस्टम घटकों को अपडेट करने में सक्षम बनाता है।
मीडिया डीआरएम
एंड्रॉइड 10 MediaDrm
जावा और एनडीके एपीआई की उपयोगिता और उपयोगिता में सुधार करता है।
डिकोडिंग
एंड्रॉइड 10 AV1 SW डिकोडिंग को सपोर्ट करता है।
अनुमतियां
एंड्रॉइड 10 पारदर्शिता और उपयोगकर्ता गोपनीयता के लिए अतिरिक्त अनुमति कॉन्फ़िगरेशन प्रदान करता है।
संपर्क प्रदाता और एफ़िनिटी जानकारी
एंड्रॉइड 10 से शुरू होकर, संपर्क प्रदाता घटक द्वारा प्रबंधित संपर्क-एफ़िनिटी-संबंधित डेटा को एंड्रॉइड 9 और उससे पहले के संस्करण की तुलना में अलग तरीके से एक्सेस किया जाता है। डेटा एक्सेसिबिलिटी से संबंधित ये परिवर्तन संपर्क प्रदाता घटक का उपयोग करने वाले सभी एंड्रॉइड 10 उपकरणों में उपयोगकर्ता की गोपनीयता में सुधार करते हैं। अंतर्निहित डेटाबेस में अब संपर्क एफ़िनिटीज़ डेटा शामिल नहीं है। इसलिए ऐप्स इसमें लिख या पढ़ नहीं सकते।
एंड्रॉइड 10 में बदलावों से एपीआई पर बड़ा प्रभाव पड़ने की उम्मीद है। यदि आपके ऐप्स संपर्क प्रदाता और एफ़िनिटीज़ जानकारी में उल्लिखित अप्रचलित सुविधाओं पर निर्भर हैं, तो आप किसी भी बदलाव की भरपाई के लिए अपने ऐप्स को अपडेट करना चाह सकते हैं। इसके अतिरिक्त, यदि आप संपर्क प्रदाता के फोर्क्ड संस्करण का उपयोग करते हैं, तो आपको अपने संपर्क प्रदाता को अपडेट करना होगा।
त्रिराज्य स्थान अनुमतियाँ
एंड्रॉइड 10 में ट्रिस्टेट स्थान अनुमतियाँ उपयोगकर्ताओं को इस बात पर अधिक नियंत्रण देती हैं कि ऐप्स उनके डिवाइस स्थानों तक कैसे पहुँचते हैं।
पृष्ठभूमि स्थान पहुंच अनुस्मारक
एंड्रॉइड 10 में एक बैकग्राउंड एक्सेस लोकेशन रिमाइंडर की सुविधा है, जो किसी डिवाइस के स्थान तक ऐप्स की कितनी पहुंच है, इसकी पारदर्शिता बढ़ाता है और उपयोगकर्ताओं को ऐसी पहुंच पर नियंत्रण बनाए रखने में मदद करता है।
अवसरवादी स्थानों को प्रतिबंधित करें
जब कोई ऐप किसी डिवाइस के स्थान का अनुरोध करता है, तो ऐप या तो अनुरोध प्रतिक्रिया की प्रतीक्षा कर सकता है या, सक्रिय स्थान श्रोताओं का उपयोग करके, अवसरवादी स्थान अपडेट प्राप्त कर सकता है। एंड्रॉइड 10 से शुरू करके, अवसरवादी स्थान अपडेट प्राप्त करने के लिए, डेवलपर्स को यह निर्दिष्ट करना होगा कि उन्हें FusedLocationProviderClient
वर्ग से निष्क्रिय स्थान अपडेट की आवश्यकता है।
बैकग्राउंड ऐप्स लॉन्च हो रहे हैं
एंड्रॉइड 10 में, दृश्यमान विंडो के बिना गैर-विशेषाधिकार प्राप्त ऐप्स स्वयं को अग्रभूमि में स्वचालित रूप से लॉन्च नहीं कर सकते हैं। यह परिवर्तन विज्ञापन पॉपअप और दुर्भावनापूर्ण अधिग्रहण को रोकता है। इसे सक्षम करने के लिए किसी कार्रवाई की आवश्यकता नहीं है.
ऐप सैंडबॉक्सिंग
एंड्रॉइड 10 में, ऐप्स के पास फ़ाइल सिस्टम का एक सीमित कच्चा दृश्य होता है, जिसमें /sdcard/DCIM
जैसे पथों तक कोई सीधी पहुंच नहीं होती है। हालाँकि, ऐप्स अपने पैकेज-विशिष्ट पथों तक पूर्ण कच्ची पहुंच बनाए रखते हैं, जैसा कि किसी भी लागू तरीकों जैसे कि Context.getExternalFilesDir()
द्वारा लौटाया जाता है। ऐप्स के पास अभी भी अपने पैकेज-विशिष्ट पथों तक पूर्ण कच्ची पहुंच है।
उचित डेटा-शेयरिंग ग्रैन्युलैरिटी प्रदान करने के लिए फ़ाइलें साझा करने के लिए ऐप सैंडबॉक्स दिशानिर्देशों का उपयोग करें।
ऐप क्लिपबोर्ड एक्सेस प्रतिबंधित करें
एंड्रॉइड 10 में, क्लिपबोर्ड एक्सेस बदल गया है ताकि क्लिपबोर्ड सामग्री को ClipboardManager.getPrimaryClip
पर कॉल करके या क्लिपबोर्ड बदलने पर अधिसूचना के लिए onPrimaryClipChangedListener
श्रोता जोड़कर नहीं देखा जा सके। इससे उपयोगकर्ता की गोपनीयता बढ़ती है और मैलवर्टाइजिंग ऐप्स को क्लिपबोर्ड को संशोधित करने से अक्षम कर दिया जाता है।
एंड्रॉइड 10 में, पढ़ने की पहुंच केवल इनपुट फोकस वाले वर्तमान ऐप या वर्तमान कीबोर्ड तक ही है। ClipboardManager.onPrimaryClipChanged()
श्रोता कॉल अब केवल उन ऐप्स के लिए सक्रिय होती है जो ऐसे प्रतिबंधों को पूरा करते हैं। यदि अनुरोध करने वाला ऐप या तो डिफ़ॉल्ट इनपुट मेथड एडिटर (IME) नहीं है, या उसमें इनपुट फोकस नहीं है, तो ClipboardManager.getPrimaryClip
और ClipboardManager.getPrimaryClipDescription
null
हो जाते हैं।
रनटाइम अनुमतियों में गतिविधि पहचान शामिल है
जब कोई ऐप पृष्ठभूमि में डिवाइस स्थान तक पहुंचता है तो उपयोगकर्ता अब एक गतिविधि पहचान संवाद देखते हैं। एंड्रॉइड 10 में हार्ड-प्रतिबंधित रनटाइम अनुमतियां उचित रूप से श्वेतसूची में होनी चाहिए।
MANAGE_DEVICE_ADMINS अनुमति
एंड्रॉइड 10 MANAGE_DEVICE_ADMINS
अनुमति को हस्ताक्षर या विशेषाधिकार से केवल हस्ताक्षर में बदल देता है। इसका मतलब यह है कि केवल प्लेटफ़ॉर्म-हस्ताक्षरित ऐप्स ही अन्य ऐप्स को डिवाइस एडमिन के रूप में सेट कर सकते हैं।
एपीआई सुधार साझा करना
एंड्रॉइड 10 साझाकरण से संबंधित कई नई एंड्रॉइड प्लेटफ़ॉर्म एपीआई सुविधाएं प्रदान करता है। यदि आपने अपने कार्यान्वयन में शेयर शीट कोड को संशोधित किया है, तो सुनिश्चित करें कि आपका कार्यान्वयन इन नई सुविधाओं का समर्थन करता है। यदि आपने अपने कार्यान्वयन में शेयर शीट कोड को संशोधित नहीं किया है, तो आपको इन नई सुविधाओं का समर्थन करने के लिए कुछ भी करने की आवश्यकता नहीं है।
एंड्रॉइड रनटाइम (एआरटी)
हस्ताक्षरित कॉन्फिग
हस्ताक्षरित कॉन्फ़िग सुविधा एपीके में गैर-एसडीके इंटरफ़ेस प्रतिबंधों के कॉन्फ़िगरेशन को एम्बेड करने की अनुमति देती है। यह ब्लैकलिस्ट से विशिष्ट गैर-एसडीके इंटरफेस को हटाने में सक्षम बनाता है, ताकि एंड्रॉइडएक्स सुरक्षित रूप से उनका उपयोग कर सके। इस बदलाव के साथ, AndroidX पुराने Android संस्करणों पर नई सुविधाओं के लिए समर्थन जोड़ सकता है।
प्रदर्शन
सीग्रुप अमूर्त परत
एंड्रॉइड 10 में एक सीग्रुप एब्स्ट्रैक्शन लेयर और टास्क प्रोफाइल शामिल है, जिसका उपयोग डेवलपर्स किसी थ्रेड या प्रक्रिया पर लागू करने के लिए प्रतिबंधों के एक सेट का वर्णन करने के लिए कर सकते हैं।
लो मेमोरी किलर डेमन (lmkd)
एंड्रॉइड 10 एक नए lmkd
मोड का समर्थन करता है जो मेमोरी प्रेशर का पता लगाने के लिए कर्नेल प्रेशर स्टॉल सूचना (पीएसआई) मॉनिटर का उपयोग करता है।
शक्ति
प्लेटफार्म पावर प्रबंधन
एंड्रॉइड 10 में, डोज़ मोड को हमेशा चालू रहने वाले उपकरणों के साथ-साथ बैटरी से चलने वाले उपकरणों पर भी सक्षम किया जा सकता है।
नियमित बैटरी सेवर
एंड्रॉइड 10 एक नया बैटरी सेवर शेड्यूल विकल्प पेश करता है जिसे रूटीन पर आधारित कहा जाता है। नियमित बैटरी सेवर OEM द्वारा चुने गए ऐप को अधिक बुद्धिमान बैटरी सेवर शेड्यूलिंग के लिए सिस्टम को सिग्नल प्रदान करने की अनुमति देता है। इस विकल्प के लिए कॉन्फ़िगरेशन की आवश्यकता है, और इसे लागू करना वैकल्पिक है।
बिजली आँकड़े एचएएल
एंड्रॉइड 10 में, IPowerStats.hal
IPower.hal
में पावर सांख्यिकी संग्रह एपीआई को प्रतिस्थापित करता है। जबकि पावर एचएएल अभी भी एपीआई का समर्थन करता है, भविष्य में उन्हें विशेष रूप से पावर स्टैटिस्टिक्स एचएएल में स्थानांतरित कर दिया जाएगा।
पावर आँकड़े एचएएल में समर्थित उपकरणों के लिए ऑन-डिवाइस पावर माप से डेटा के संग्रह का समर्थन करने के लिए नए एपीआई शामिल हैं। लचीलेपन में सुधार के लिए मौजूदा पावर सांख्यिकी संग्रह एपीआई को भी अपडेट किया गया है। पावर हिंटिंग एपीआई पावर एचएएल में बने हुए हैं और बदल नहीं रहे हैं।
थर्मल शमन
CPU, GPU, बैटरी, त्वचा और कूलिंग डिवाइस सहित थर्मल सबसिस्टम तापमान सेंसर के लिए Android 10 Abstracts डिवाइस में थर्मल फ्रेमवर्क इंटरफेस। फ्रेमवर्क थ्रॉटलिंग शुरू करने के लिए थर्मल स्थिति को क्वेरी करने के लिए एक मतदान इंटरफ़ेस का परिचय देता है, और एक थ्रेसहोल्ड से अधिक होने पर उपयोगकर्ता को संदेश भेजने के लिए एक कॉलबैक इंटरफ़ेस।
Android 10 इन तीन नए तरीकों का उपयोग करके IThermalService
इंटरफ़ेस के माध्यम से नए डेटा प्रकार प्रदान करता है:
- जब तक डिवाइस थ्रॉटलिंग से गुजर नहीं रहा है, तब तक
getCurrentThermalStatus()
डिवाइस की वर्तमान थर्मल स्थिति को एक पूर्णांक के रूप में लौटाता है। -
addThermalStatusListener()
एक श्रोता जोड़ता है। -
removeThermalStatusListener()
पहले से जोड़े गए श्रोता को हटा देता है।
ऐप्स श्रोताओं को जोड़ते हैं और हटा देते हैं और PowerManager
वर्ग में तापमान की स्थिति का उपयोग करते हैं। केवल एक विश्वसनीय सिस्टम सेवा जैसे कि Android API या डिवाइस निर्माता API संबंधित कारण घटनाओं के बारे में जानकारी प्राप्त कर सकता है। डिवाइस निर्माताओं या एसओसी निर्माताओं को नए थर्मल फ्रेमवर्क की पूर्ण कार्यक्षमता को सक्षम करने के लिए thermal HAL 2.0
लागू करना होगा।
एक थर्मल शमन कार्यान्वयन उदाहरण के लिए, संदर्भ कार्यान्वयन देखें।
अपडेट
एपेक्स फ़ाइल स्वरूप
एंड्रॉइड पोनी एक्सप्रेस (एपेक्स) एक नया कंटेनर प्रारूप है जिसका उपयोग मॉड्यूलर सिस्टम घटकों के लिए इंस्टॉल फ्लो में किया जाता है।
गतिशील विभाजन
डायनेमिक विभाजन Android के लिए एक USERSPACE विभाजन प्रणाली का परिचय देते हैं, जिससे OTA अपडेट के दौरान विभाजन को बनाया, आकार दिया या नष्ट किया जा सकता है। डिवाइस निर्माताओं को विभाजन के व्यक्तिगत आकारों जैसे system
, vendor
और product
के बारे में चिंता करने की आवश्यकता नहीं है। इसके बजाय, एक बड़ा super
विभाजन आवंटित किया जाता है, और उप -भागों को इसके भीतर गतिशील रूप से आकार दिया जा सकता है।
गतिशील सिस्टम अद्यतन
डायनेमिक सिस्टम अपडेट (DSU) आपको एक Android सिस्टम छवि बनाने की अनुमति देता है जो उपयोगकर्ता इंटरनेट से डाउनलोड कर सकते हैं और वर्तमान सिस्टम छवि को दूषित करने के जोखिम के बिना प्रयास कर सकते हैं।
बहुउद्देश्यीय बैकअप और पुनर्स्थापना
Android 10 बैकअप का समर्थन करता है और डिवाइस पर सभी उपयोगकर्ताओं के लिए कार्यक्षमता को पुनर्स्थापित करता है । पहले, बैकअप और पुनर्स्थापना केवल सिस्टम उपयोगकर्ता के लिए उपलब्ध था। Nonsystem उपयोगकर्ताओं के लिए बैकअप और पुनर्स्थापना डिफ़ॉल्ट रूप से बंद हो जाता है क्योंकि इसमें सेटिंग्स, वॉलपेपर और सिस्टम घटकों के लिए केवल आंशिक कवरेज होता है।
ओवरलेफ़्स
userdebug
या eng
बिल्ड के साथ काम करने वाले उपयोगकर्ता सिस्टम विभाजन को रीड-राइट के रूप में कुशलता से याद करने में सक्षम होने की उम्मीद करते हैं और फिर सिस्टम इमेज को रिफ्लेश किए बिना किसी भी संख्या में फ़ाइलों को जोड़ या संशोधित करते हैं। आप Overlayfs
का उपयोग कर सकते हैं, जो एक ऊपरी संदर्भ के रूप में एक लिखने योग्य फ़ाइल सिस्टम के लिए स्वचालित रूप से बैकिंग स्टोरेज सेट करता है, और निचले पर माउंट करता है। ये क्रियाएं adb disable-verity
और adb remount
अनुरोधों में होती हैं। अधिक जानकारी के लिए, AOSP में ओवरलेफ्स रीडम देखें।
वसूली मोड में साझा पुस्तकालय समर्थन
एंड्रॉइड 10 में, साझा पुस्तकालय रिकवरी विभाजन में उपलब्ध हैं, जो सभी रिकवरी मोड निष्पादन योग्य होने की आवश्यकता को समाप्त कर देता है। साझा पुस्तकालय विभाजन में /system/lib
(या 64-बिट डिवाइस के लिए /system/lib64
) निर्देशिका के तहत स्थित हैं।
पुनर्प्राप्ति विभाजन में एक नई साझा लाइब्रेरी जोड़ने के लिए, recovery_available: true
या पुनर्प्राप्ति: साझा लाइब्रेरी के Android.bp
के लिए recovery: true
। पूर्व सिस्टम और रिकवरी दोनों विभाजन दोनों के लिए लाइब्रेरी स्थापित करता है, जबकि उत्तरार्द्ध इसे केवल पुनर्प्राप्ति विभाजन के लिए स्थापित करता है।
Android के मेक-आधारित बिल्ड सिस्टम के साथ साझा लाइब्रेरी सपोर्ट नहीं बनाया जा सकता है। रिकवरी मोड के लिए मौजूदा स्टेटिक निष्पादन योग्य को एक डायनेमिक एक में परिवर्तित करने के लिए, LOCAL_FORCE_STATIC_EXECUTABLE := true
इन Android.mk
या static_executable: true
( Android.bp
में)।
उपयोगकर्ता डेटा चेकपॉइंट (UDC)
Android 10 उपयोगकर्ता डेटा चेकपॉइंट (UDC) सुविधा का परिचय देता है, जो Android को अपने पिछले राज्य में वापस रोल करने की अनुमति देता है जब Android ओवर-द-एयर (OTA) अपडेट विफल हो जाता है।