Google 致力于为黑人社区推动种族平等。查看具体举措
इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

एचएएल प्रकार

एंड्रॉइड 8.0 और उच्चतर में, एक नए, अधिक मॉड्यूलर आर्किटेक्चर को अपनाने के लिए निचले स्तर की परतों को फिर से लिखा गया है। Android 8.0 और इससे उच्चतर चलने वाले उपकरणों को नीचे सूचीबद्ध कुछ अपवादों के साथ, HIDL में लिखे HALs का समर्थन करना चाहिए। इन एचएएल को बांध दिया जा सकता है या पैशाच किया जा सकता है। एंड्रॉइड 11 में, एआईडीएल में लिखे गए एचएएल भी समर्थित हैं। सभी एआईडीएल एचएएल को बांध दिया जाता है।

  • बाइंडलाइज्ड एचएएल। एचएएल ने एचएएल इंटरफ़ेस परिभाषा भाषा (एचआईडीएल) या एंड्रॉइड इंटरफ़ेस परिभाषा भाषा (एआईडीएल) में व्यक्त किया। ये एचएएल एंड्रॉइड के पुराने संस्करणों में उपयोग किए जाने वाले पारंपरिक और विरासत एचएएल दोनों को प्रतिस्थापित करते हैं। बाइंडराइज्ड एचएएल में, एंड्रॉइड फ्रेमवर्क और एचएएलएस बाइंडर इंटर-प्रोसेस कम्युनिकेशन (आईपीसी) कॉल का उपयोग करते हुए एक-दूसरे के साथ संवाद करते हैं। एंड्रॉइड 8.0 या बाद के साथ लॉन्च होने वाले सभी उपकरणों को केवल बाइंडलाइज्ड एचएएल का समर्थन करना चाहिए।
  • पास् टरथ HALs। एक HIDL लिपटे पारंपरिक या विरासत HAL । ये एचएएल मौजूदा एचएएल को लपेटते हैं और एचएएल को बाइंडराइज्ड और समान-प्रक्रिया (पस्चथ्र) मोड में सेवा दे सकते हैं। Android 8.0 में अपग्रेड होने वाले डिवाइस passthrough HALs का उपयोग कर सकते हैं।

एचएएल मोड आवश्यकताओं

युक्ति निकासी Binderized
Android 8.0 के साथ लॉन्च करें Passthrough HAL में सूचीबद्ध HALs को pststhrough होना चाहिए। अन्य सभी एचएएल को बांध दिया जाता है (एचएएल सहित जो कि विक्रेता के एक्सटेंशन हैं)।
Android 8.0 पर अपग्रेड करें Passthrough HAL में सूचीबद्ध HALs को pststhrough होना चाहिए। बाइंडरीकृत एचएएल में सूचीबद्ध एचएएल को बाइंडराइज्ड किया जाना चाहिए।
विक्रेता छवि द्वारा प्रदान की जाने वाली अन्य सभी एचएएल passthrough या बाइंडराइज्ड मोड में हो सकती हैं। पूरी तरह से ट्रेबल-कंप्लायंट डिवाइस में, इन सभी को बाइंडराइज्ड किया जाना चाहिए।

बाइंडलाइज्ड एचएएल

Android को निम्नलिखित HALS के लिए सभी Android उपकरणों पर बांधने की आवश्यकता होती है, भले ही वे लॉन्च डिवाइस हों या अपग्रेड डिवाइस:

  • android.hardware.biometrics.fingerprint@2.1fingerprintd प्रतिस्थापित करता है जो अब एंड्रॉइड 8.0 में नहीं है।
  • android.hardware.configstore@1.0 Android 8.0 में नया।
  • android.hardware.dumpstate@1.0 । इस एचएएल द्वारा प्रदान किए गए मूल इंटरफ़ेस को चमकाया नहीं जा सकता था और इसे बदल दिया गया था। इस वजह से, dumpstate_board को किसी दिए गए डिवाइस पर फिर से लागू किया जाना चाहिए (यह एक वैकल्पिक एचएएल है)।
  • android.hardware.graphics.allocator@2.0 । एंड्रॉइड 8.0 में बांधने की आवश्यकता होती है, इसलिए फ़ाइल विवरणकों को विश्वसनीय और अविश्वसनीय प्रक्रियाओं के बीच साझा नहीं करना पड़ता है।
  • android.hardware.radio@1.0rild द्वारा प्रदान किए गए इंटरफ़ेस को बदलता है जो अपनी प्रक्रिया में रहता है।
  • android.hardware.usb@1.0 । Android 8.0 में नया।
  • android.hardware.wifi@1.0 । एंड्रॉइड 8.0 में नया, लीगेसी वाई-फाई एचएएल लाइब्रेरी की जगह लेता है जिसे system_server में लोड किया गया था।
  • android.hardware.wifi.supplicant@1.0 । मौजूदा wpa_supplicant प्रक्रिया पर एक HIDL इंटरफ़ेस।

नोट:: एंड्रॉयड निम्नलिखित HIDL इंटरफेस जो हमेशा binderized मोड में हो जाएगा प्रदान करता है android.frameworks.* , android.system.* , और android.hidl.* (के लिए छोड़कर android.hidl.memory@1.0 नीचे वर्णित के रूप में)।

पास् टरथ HALs

एंड्रॉइड को निम्नलिखित एचएएल की आवश्यकता होती है जो सभी एंड्रॉइड डिवाइसों पर passthrough मोड में हो चाहे वे लॉन्च डिवाइस या अपग्रेड किए गए डिवाइस हों:

  • android.hardware.graphics.mapper@1.0 । यह जिस प्रक्रिया में रहता है उसमें मैप्स मेमोरी।
  • android.hardware.renderscript@1.0 । एक ही प्रक्रिया में आइटमों को पास करता है ( openGL बराबर)।

लॉन्च किए गए उपकरणों के लिए ऊपर सूचीबद्ध सभी HALs को बांधना नहीं चाहिए।

वही-प्रक्रिया एचएएल

समान-प्रक्रिया एचएएल (एसपी-एचएएल) हमेशा उसी प्रक्रिया में खुलती हैं जिसमें उनका उपयोग किया जाता है। वे HALL में व्यक्त नहीं किए गए सभी HALs के साथ-साथ कुछ भी शामिल हैं जो कि बांध नहीं रहे हैं। SP-HAL सेट में सदस्यता केवल Google द्वारा नियंत्रित की जाती है, जिसमें कोई अपवाद नहीं है।

SP-HAL में निम्न शामिल हैं:

  • openGL
  • Vulkan
  • android.hidl.memory@1.0 (Android सिस्टम द्वारा प्रदान किया गया, हमेशा passthrough)
  • android.hardware.graphics.mapper@1.0
  • android.hardware.renderscript@1.0

पारंपरिक और विरासत एचएएल

पारंपरिक एचएएल (एंड्रॉइड 8.0 में पदावनत) वे इंटरफेस हैं जो एक विशिष्ट नामित और संस्करणित एप्लिकेशन बाइनरी इंटरफेस (एबीबी) के अनुरूप हैं। एंड्रॉइड सिस्टम इंटरफेस ( कैमरा , ऑडियो , सेंसर , आदि) के थोक पारंपरिक एचएएल के रूप में हैं, जिन्हें हार्डवेयर / लिबरहार्डवेयर / शामिल / हार्डवेयर के तहत परिभाषित किया गया है।

विरासत एचएएल (एंड्रॉइड 8.0 में भी पदावनत) पारंपरिक एचएएल से संबंधित इंटरफेस हैं। कुछ महत्वपूर्ण सबसिस्टम (वाई-फाई, रेडियो इंटरफेस लेयर और ब्लूटूथ) विरासत एचएएल हैं। जबकि विरासत एचएएल का वर्णन करने के लिए कोई समान या मानकीकृत तरीका नहीं है, एंड्रॉइड 8.0 से पहले कुछ भी जो कि पारंपरिक एचएएल नहीं है, एक विरासत एचएएल है। कुछ विरासत एचएएल के कुछ हिस्सों को लिबरहार्डवेयर_लेज में समाहित किया गया है , जबकि अन्य भागों को कोडबेस में रखा गया है।