अतिरिक्त सेवाएं

ExtServices मॉड्यूल कोर OS कार्यक्षमता के लिए फ्रेमवर्क घटकों को अपडेट करता है, जैसे अधिसूचना रैंकिंग, ऑटोफिल टेक्स्ट-मिलान रणनीतियाँ, स्टोरेज कैश, पैकेज वॉचडॉग और लगातार चलने वाली अन्य सेवाएँ। यह मॉड्यूल अद्यतन करने योग्य है, जिसका अर्थ है कि यह सामान्य एंड्रॉइड रिलीज़ चक्र के बाहर कार्यक्षमता के लिए अपडेट प्राप्त कर सकता है।

सेवा घटक

ExtServices मॉड्यूल में निम्नलिखित सेवाएँ शामिल हैं।

डिस्प्लेहैशिंगसेवा

एंड्रॉइड 12 में, निर्दिष्ट बफर के लिए DisplayHash का एक उदाहरण उत्पन्न करने के लिए DisplayHashingService का उपयोग किया जाता है। इसका उपयोग यह सत्यापित करने के लिए भी किया जाता है कि सिस्टम द्वारा एक विशिष्ट डिस्प्ले हैश उत्पन्न किया गया था। डिस्प्ले हैश उत्पन्न करते समय, कॉलर निर्दिष्ट कर सकता है कि वह किस समर्थित हैशिंग एल्गोरिदम का उपयोग करना चाहता है।

टेक्स्टक्लासिफायरसेवा

TextClassifierService सेवा घटक TextClassifier API और Android सुविधाओं जैसे स्मार्ट टेक्स्ट चयन और सूचनाओं में स्मार्ट सुझावों का समर्थन करता है। ExtServices मॉड्यूल में डिफ़ॉल्ट टेक्स्ट क्लासिफायरियर होता है, जिसे CTS परीक्षण TextClassifierPolicyTest.java द्वारा सत्यापित किया जाता है।

यदि आवश्यक हो, तो आप config.xml में config_defaultTextClassifierPackage निर्दिष्ट करके एक कस्टम टेक्स्ट क्लासिफायर सेवा कॉन्फ़िगर कर सकते हैं। कस्टम टेक्स्ट क्लासिफायर इसका उदाहरण प्राप्त करने के लिए TextClassifierService.getDefaultTextClassifierImplementation(Context) पर कॉल करके डिफ़ॉल्ट टेक्स्ट क्लासिफायर पर निर्भर हो सकते हैं।

इनलाइन सुझाव रेंडर सेवा

InlineSuggestionRenderService सेवा घटक इनलाइन सुझावों को कीबोर्ड सुझाव पट्टी में दिखाने में सक्षम बनाता है। इस सेवा को नए इनलाइन ऑटोफिल प्रवाह के लिए इनलाइन सुझाव रखने वाले View ऑब्जेक्ट को प्रस्तुत करने के लिए कहा जाता है। इस रेंडरर सेवा के लिए डिफ़ॉल्ट कार्यान्वयन सुझाव प्रस्तुत करने के लिए androidx.autofill.inline.Renderer पर कॉल करता है। यह व्यवहार /autofillservice/cts/inline/ में CTS परीक्षणों द्वारा सत्यापित किया जाता है।

पैकेज का नाम

Android 11 चलाने वाले उपकरणों को config_servicesExtensionPackage ( frameworks/base/core/res/res/values/config.xml में) को ExtServices पैकेज नाम ( com.android.ext.services ) पर सेट करना होगा। यह कॉन्फ़िगरेशन परिवर्तन CTS परीक्षण cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java द्वारा सत्यापित है।

मॉड्यूल सीमा

एंड्रॉइड 12 में, एक्स्टसर्विसेज मॉड्यूल कोड को frameworks/base/apex/extservices (यह frameworks/base project की एक उपनिर्देशिका है) और packages/modules/ExtServices ले जाया गया है।

packages/modules/ExtServices के लिए नई परियोजना संरचना इस प्रकार है:

  • apex/ ( frameworks/base/apex/extservices से फ़ाइलें)
  • java/ ( packages/modules/ExtServices/res , packages/modules/ExtServices/src , packages/modules/ExtServices/tests फ़ाइलें, और नई सुविधा के लिए फ़ाइलें)
  • jni/ (नई सुविधा के लिए फ़ाइलें)
  • native/ (नई सुविधा के लिए फ़ाइलें)

ExtServices मॉड्यूल सीमा packages/modules/ExtServices में है। एंड्रॉइड 11 कई TextClassifier कार्यान्वयन कक्षाओं को frameworks/base/core/ से बाहर भी ले जाता है।

मॉड्यूल प्रारूप

एंड्रॉइड 11 में, ExtServices मॉड्यूल ( com.android.ext.services ) APEX प्रारूप में है। एंड्रॉइड 10 में, यह मॉड्यूल एपीके प्रारूप में है।

अनुकूलित

एंड्रॉइड 11 में, आप एक कस्टम टेक्स्ट क्लासिफायर सेवा कॉन्फ़िगर कर सकते हैं जो डिफ़ॉल्ट टेक्स्ट क्लासिफायर को कॉल करती है (हालांकि, यह अनुशंसित नहीं है)। एंड्रॉइड 10 में, ExtServices मॉड्यूल अनुकूलन विकल्प प्रदान नहीं करता है।

परिक्षण

एंड्रॉइड कम्पैटिबिलिटी टेस्ट सूट (सीटीएस) प्रत्येक मॉड्यूल रिलीज पर सीटीएस परीक्षणों का एक व्यापक सेट चलाकर एक्स्टसर्विसेज मॉड्यूल कार्यक्षमता की पुष्टि करता है। इसके अलावा, मेनलाइन टेस्ट सूट (एमटीएस) में कई एक्स्टसर्विसेज परीक्षण भी शामिल हैं। ExtServices परीक्षणों की पूरी सूची इस प्रकार है:

  • कॉन्फिग परिवर्तन. सीटीएस परीक्षण cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java द्वारा सत्यापित।

  • TextClassifier कॉन्फ़िगरेशन। सीटीएस परीक्षण cts/TextClassifierPolicyTest.java द्वारा सत्यापित।

  • स्वतः भरण इनलाइन सुझाव. सीटीएस परीक्षणों द्वारा cts/inline/ में सत्यापित।