एफसीएम जीवनचक्र

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

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

अपने स्वयं के पारिस्थितिक तंत्र में केवल-फ्रेमवर्क ओटीए को सक्षम करने के लिए, विक्रेता इंटरफेस का विस्तार करने वाले भागीदारों को भी उन्हीं तरीकों का उपयोग करके एचआईडीएल एचएएल को हटा देना चाहिए।

शब्दावली

फ्रेमवर्क संगतता मैट्रिक्स (FCM) एक एक्सएमएल फ़ाइल जो विक्रेता कार्यान्वयन के अनुरूप ढांचे की आवश्यकताओं को निर्दिष्ट करती है। संगतता मैट्रिक्स को संस्करणबद्ध किया गया है, और प्रत्येक फ्रेमवर्क रिलीज के लिए एक नया संस्करण जमे हुए है। प्रत्येक फ्रेमवर्क रिलीज़ में कई FCM होते हैं।
प्लेटफार्म एफसीएम संस्करण (एस एफ ) फ्रेमवर्क रिलीज में सभी एफसीएम संस्करणों का सेट। फ्रेमवर्क किसी भी विक्रेता कार्यान्वयन के साथ काम कर सकता है जो इनमें से किसी एक FCM को संतुष्ट करता है।
एफसीएम संस्करण (एफ) फ्रेमवर्क रिलीज में सभी एफसीएम के बीच उच्चतम संस्करण।
लक्ष्य एफसीएम संस्करण (वी) लक्षित FCM संस्करण (S F से), डिवाइस मेनिफेस्ट में स्पष्ट रूप से घोषित किया गया है कि एक विक्रेता कार्यान्वयन संतुष्ट करता है। एक प्रकाशित एफसीएम के खिलाफ एक विक्रेता कार्यान्वयन उत्पन्न किया जाना चाहिए, हालांकि यह अपने डिवाइस मैनिफेस्ट में नए एचएएल संस्करणों की घोषणा कर सकता है।
एचएएल संस्करण एक एचएएल संस्करण का प्रारूप foo@xy है, जहां foo एचएएल नाम है और xy विशिष्ट संस्करण है; उदाहरण के लिए nfc@1.0 , keymaster@3.0 (रूट उपसर्ग, जैसे android.hardware , इस पूरे दस्तावेज़ में छोड़ दिया गया है।)
डिवाइस मेनिफेस्ट एक्सएमएल फाइलें जो निर्दिष्ट करती हैं कि विक्रेता और ODM छवियों सहित विक्रेता इंटरफ़ेस के डिवाइस पक्ष में कौन से एचएएल संस्करण प्रदान करते हैं। डिवाइस मेनिफेस्ट की सामग्री डिवाइस के लक्ष्य FCM संस्करण द्वारा बाधित होती है, लेकिन HAL को सूचीबद्ध कर सकती है जो V के अनुरूप FCM के सापेक्ष बिल्कुल नए हैं।
डिवाइस एचएएल एचएएल जो डिवाइस मेनिफेस्ट में सूचीबद्ध (प्रदान किए गए) हैं और फ्रेमवर्क संगतता मैट्रिक्स (एफसीएम) में सूचीबद्ध (या तो आवश्यक या वैकल्पिक) हैं।
डिवाइस संगतता मैट्रिक्स (डीसीएम) एक एक्सएमएल फ़ाइल जो फ्रेमवर्क कार्यान्वयन के अनुरूप विक्रेता की आवश्यकताओं को निर्दिष्ट करती है। प्रत्येक डिवाइस में एक DCM होता है।
फ्रेमवर्क मैनिफेस्ट एक XML फ़ाइल जो निर्दिष्ट करती है कि सिस्टम, system_ext, और उत्पाद छवियों सहित विक्रेता इंटरफ़ेस का कौन-सा HAL संस्करण प्रदान करता है। फ्रेमवर्क मेनिफेस्ट में एचएएल डिवाइस के लक्ष्य एफसीएम संस्करण के अनुसार गतिशील रूप से अक्षम हैं।
फ्रेमवर्क एचएएल एचएएल जो कि फ्रेमवर्क मेनिफेस्ट में प्रदान किए गए के रूप में सूचीबद्ध हैं और डिवाइस संगतता मैट्रिक्स (डीसीएम) में आवश्यक या वैकल्पिक के रूप में सूचीबद्ध हैं।

एक नए FCM संस्करण में विकास करना

Android प्रत्येक फ़्रेमवर्क रिलीज़ (जैसे Android 8, 8.1, आदि) के लिए FCM संस्करण को बढ़ाता है। विकास के दौरान, नई compatibility_matrix.current.xml .current.xml बनाई जाती है ( F ) और मौजूदा compatibility_matrix.f.xml (जहां f < F ) अब नहीं बदली जाती है।

एक नए FCM संस्करण F में विकास शुरू करने के लिए:

  1. नवीनतम compatibility_matrix.<F-1>.xml की compatibility_matrix.current.xml बनाएँ।
  2. फ़ाइल में level विशेषता को F में अपडेट करें।
  3. इस संगतता मैट्रिक्स को डिवाइस में स्थापित करने के लिए संबंधित बिल्ड नियम जोड़ें।

पेश है एक नया HAL

विकास के दौरान, वर्तमान FCM संस्करण F पर Android के लिए एक नया HAL (वाई-फाई, NFC, आदि) पेश करते समय, निम्नलिखित optional सेटिंग्स के साथ HAL को compatibility_matrix.current.xml .current.xml में जोड़ें:

  • optional="false" यदि V = F के साथ शिप करने वाले उपकरणों को इस एचएएल के साथ लॉन्च करना होगा,

    या
  • optional="true" यदि V = F के साथ शिप करने वाले डिवाइस इस एचएएल के बिना लॉन्च हो सकते हैं।

उदाहरण के लिए, Android 8.1 ने cas@1.0 को वैकल्पिक HAL के रूप में पेश किया। इस एचएएल को लागू करने के लिए एंड्रॉइड 8.1 के साथ लॉन्च होने वाले उपकरणों की आवश्यकता नहीं है, इसलिए निम्नलिखित प्रविष्टि को compatibility_matrix.current.xml में जोड़ा गया था (एंड्रॉइड 8.1 जारी होने के बाद इसका नाम बदलकर compatibility_matrix.2.xml कर दिया गया):

<hal format="hidl" optional="true">
    <name>android.hardware.cas</name>
    <version>1.0</version>
    <interface>
        <name>IMediaCasService</name>
        <instance>default</instance>
    </interface>
</hal>

एचएएल का उन्नयन (मामूली)

विकास के दौरान, जब किसी HAL के पास वर्तमान FCM संस्करण F पर xz से x.(z+1) का लघु-संस्करण अपग्रेड होता है, यदि वह संस्करण है:

  • V = F के साथ लॉन्च होने वाले उपकरणों पर आवश्यक, compatibility_matrix.current.xml .current.xml में x.(z+1) और optional="false" अवश्य होना चाहिए।
  • V = F के साथ लॉन्च होने वाले उपकरणों पर आवश्यक नहीं है, compatibility_matrix.current.xml .current.xml को xy-z और वैकल्पिकता को संगतता_मैट्रिक्स से कॉपी करना होगा compatibility_matrix.<F-1>.xml और संस्करण को xw-(z+1) में बदलना होगा (जहां w >= y )।

उदाहरण के लिए, Android 8.1 ने broadcastradio@1.1 को 1.0 HAL के लघु संस्करण अपग्रेड के रूप में पेश किया। पुराना संस्करण, broadcastradio@1.0 , Android 8.0 के साथ लॉन्च होने वाले उपकरणों के लिए वैकल्पिक है, जबकि नया संस्करण, broadcastradio@1.1 , Android 8.1 के साथ लॉन्च होने वाले उपकरणों के लिए वैकल्पिक है। compatibility_matrix.1.xml .xml में:

<hal format="hidl" optional="true">
    <name>android.hardware.broadcastradio</name>
    <version>1.0</version>
    <interface>
        <name>IBroadcastRadioFactory</name>
        <instance>default</instance>
    </interface>
</hal>

इस प्रविष्टि को compatibility_matrix.current.xml में कॉपी किया गया था (एंड्रॉइड 8.1 जारी होने के बाद इसका नाम बदलकर compatibility_matrix.2.xml कर दिया गया) और निम्नानुसार संशोधित किया गया:

<hal format="hidl" optional="true">
    <name>android.hardware.broadcastradio</name>
    <version>1.0-1</version>
    <interface>
        <name>IBroadcastRadioFactory</name>
        <instance>default</instance>
    </interface>
</hal>

एचएएल का उन्नयन (प्रमुख)

विकास के दौरान, जब एचएएल के पास वर्तमान एफसीएम संस्करण F पर एक प्रमुख-संस्करण अपग्रेड होता है, तो नया प्रमुख संस्करण x.0 निम्नलिखित optional सेटिंग्स के साथ compatibility_matrix.current.xml .current.xml में जोड़ा जाता है:

  • optional="false" केवल संस्करण x.0 के साथ, यदि V = F के साथ शिप करने वाले x.0 के साथ लॉन्च होना चाहिए।
  • optional="false" लेकिन उसी <hal> टैग में पुराने प्रमुख संस्करणों के साथ, यदि V = F के साथ शिप करने वाले उपकरणों को इस एचएएल के साथ लॉन्च होना चाहिए, लेकिन पुराने प्रमुख संस्करण के साथ लॉन्च हो सकता है।
  • optional="true" यदि V = F के साथ शिप करने वाले उपकरणों को एचएएल लॉन्च करने की आवश्यकता नहीं है।

उदाहरण के लिए, एंड्रॉइड 9 health@2.0 को 1.0 एचएएल के एक प्रमुख-संस्करण अपग्रेड के रूप में पेश करता है और 1.0 एचएएल को हटा देता है। पुराना संस्करण, health@1.0 , Android 8.0 और Android 8.1 के साथ लॉन्च होने वाले उपकरणों के लिए वैकल्पिक है। Android 9 के साथ लॉन्च होने वाले उपकरणों को बहिष्कृत 1.0 HAL प्रदान नहीं करना चाहिए और इसके बजाय नया 2.0 संस्करण प्रदान करना चाहिए। compatibility_matrix.legacy.xml , compatibility_matrix.1.xml , और compatibility_matrix.2.xml में:

<hal format="hidl" optional="true">
    <name>android.hardware.health</name>
    <version>1.0</version>
    <interface>
        <name>IHealth</name>
        <instance>default</instance>
    </interface>
</hal>

इस प्रविष्टि को compatibility_matrix.current.xml (एंड्रॉइड 9 रिलीज के साथ compatibility_matrix.3.xml का नाम दिया गया) में कॉपी किया गया है और निम्नानुसार संशोधित किया गया है:

<hal format="hidl" optional="false">
    <name>android.hardware.health</name>
    <version>2.0</version>
    <interface>
        <name>IHealth</name>
        <instance>default</instance>
    </interface>
</hal>

प्रतिबंध:

  • चूंकि 2.0 HAL optional="false" के साथ compatibility_matrix.3.xml .3.xml में है, इसलिए Android 9 के साथ लॉन्च होने वाले उपकरणों को 2.0 HAL के साथ शिप करना चाहिए।
  • चूँकि 1.0 HAL compatibility_matrix.3.xml .3.xml में नहीं है, Android 9 के साथ लॉन्च होने वाले उपकरणों को 1.0 HAL प्रदान नहीं करना चाहिए (क्योंकि इस HAL को पदावनत माना जाता है)।
  • चूंकि 1.0 एचएएल एक वैकल्पिक एचएएल के रूप में विरासत/1/2.xml (पुराने एफसीएम संस्करण जो एंड्रॉइड 9 के साथ काम कर सकता है) में मौजूद है, एंड्रॉइड 9 फ्रेमवर्क अभी भी 1.0 एचएएल के साथ काम कर सकता है (जिसे हटाए गए एचएएल संस्करण नहीं माना जाता है) )

नए एफसीएम संस्करण

सिस्टम विभाजन पर FCM संस्करण जारी करने की प्रक्रिया पूरी तरह से Google द्वारा AOSP रिलीज़ के हिस्से के रूप में की जाती है और इसमें निम्नलिखित चरण शामिल होते हैं:

  1. compatibility_matrix.current.xml का नाम compatibility_matrix.F.xml
  2. सुनिश्चित करें कि फ़ाइल में विशेषता level="F"
  3. फ़ाइल नाम परिवर्तन को दर्शाने के लिए संबंधित बिल्ड नियमों को संपादित करें।
  4. सुनिश्चित करें कि सभी डिवाइस बिल्ड और बूट हों।
  5. नवीनतम ढांचे (शिपिंग एपीआई स्तर के आधार पर) के साथ लॉन्च होने वाले उपकरणों में लक्ष्य FCM संस्करण V >= F है, यह सुनिश्चित करने के लिए VTS परीक्षण अपडेट करें।
  6. AOSP को फ़ाइल प्रकाशित करें।

नाम बदलने और प्रकाशित होने के बाद इस फ़ाइल को बदला नहीं जा सकता है। उदाहरण के लिए, एंड्रॉइड 9 के विकास के दौरान निम्नलिखित फाइलें hardware/interfaces/compatibility_matrices/ लिए बनाई गई हैं:

  • compatibility_matrix.legacy.xml
  • compatibility_matrix.1.xml
  • compatibility_matrix.2.xml
  • compatibility_matrix.current.xml

जब Android 9 जारी किया जाता है, तो compatibility_matrix.current.xml .current.xml का नाम बदलकर संगतता_मैट्रिक्स.3.xml कर दिया जाता है और निम्न फ़ाइलें hardware/interfaces/compatibility_matrices/ compatibility_matrix.3.xml बनाई जाती हैं:

  • compatibility_matrix.legacy.xml
  • compatibility_matrix.1.xml
  • compatibility_matrix.2.xml
  • compatibility_matrix.3.xml

वीटीएस परीक्षण यह सुनिश्चित करते हैं कि एंड्रॉइड 9 के साथ लॉन्च होने वाले उपकरणों में लक्ष्य एफसीएम संस्करण> = 3 है।

इसके अतिरिक्त, उत्पाद और system_ext FCMs प्रत्येक प्लेटफ़ॉर्म FCM संस्करणों के लिए आवश्यकताओं को भी सूचीबद्ध कर सकते हैं। उत्पाद और system_ext विभाजन पर FCM संस्करणों का विमोचन क्रमशः इन छवियों के स्वामी द्वारा किया जाता है। उत्पाद पर FCM संस्करण संख्या और system_ext विभाजन को सिस्टम विभाजन के साथ संरेखित होना चाहिए। सिस्टम विभाजन पर FCM संस्करणों के समान, उत्पाद में FCM संस्करण F पर संगतता मैट्रिक्स और system_ext विभाजन लक्ष्य FCM संस्करण F वाले डिवाइस पर आवश्यकताओं को दर्शाता है।

एचएएल संस्करण बहिष्करण

एचएएल संस्करण को हटाना एक डेवलपर निर्णय है (अर्थात एओएसपी एचएएल के लिए, Google निर्णय लेता है)। यह तब हो सकता है जब एक उच्च एचएएल संस्करण (चाहे मामूली या प्रमुख) जारी किया गया हो।

डिवाइस को हटा दें HAL

जब किसी दिए गए उपकरण HAL foo@xy को FCM संस्करण F पर हटा दिया जाता है, तो इसका मतलब है कि लक्ष्य FCM संस्करण V = F या बाद के संस्करण के साथ लॉन्च होने वाले किसी भी उपकरण को xy xy पुराने किसी भी संस्करण पर foo लागू नहीं करना चाहिए। एक बहिष्कृत एचएएल संस्करण अभी भी उपकरणों के उन्नयन के लिए ढांचे द्वारा समर्थित है।

जब FCM संस्करण F जारी किया जाता है, तो HAL संस्करण foo@xy को बहिष्कृत माना जाता है यदि विशिष्ट HAL संस्करण को लक्ष्य FCM संस्करण V = F के लिए नवीनतम FCM में स्पष्ट रूप से नहीं बताया गया है। V = F के साथ लॉन्च होने वाले उपकरणों के लिए, निम्न स्थितियों में से एक सत्य है:

  • ढांचे को एक उच्च संस्करण (प्रमुख या मामूली) की आवश्यकता होती है;
  • ढांचे को अब एचएएल की आवश्यकता नहीं है।

उदाहरण के लिए, एंड्रॉइड 9 में, health@2.0 को 1.0 HAL के एक प्रमुख संस्करण अपग्रेड के रूप में पेश किया गया है। health@1.0 को compatibility_matrix.3.xml से हटा दिया गया है, लेकिन यह compatibility_matrix.legacy.xml , compatibility_matrix.1.xml , और compatibility_matrix.2.xml में मौजूद है। इसलिए, health@1.0 को पदावनत माना जाता है।

एक ढांचे को हटा दें एचएएल

जब किसी दिए गए ढांचे HAL foo@xy को FCM संस्करण F पर हटा दिया जाता है, तो इसका मतलब है कि लक्ष्य FCM संस्करण V = F या बाद के संस्करण के साथ लॉन्च होने वाले किसी भी उपकरण को xy xy पुराने किसी भी संस्करण पर foo प्रदान करने के लिए ढांचे की अपेक्षा नहीं करनी चाहिए। उपकरणों के उन्नयन के लिए फ्रेमवर्क द्वारा एक बहिष्कृत एचएएल संस्करण अभी भी प्रदान किया जाता है।

जब FCM संस्करण F जारी किया जाता है, तो एक HAL संस्करण foo@xy को बहिष्कृत माना जाता है यदि फ्रेमवर्क मैनिफेस्ट foo@xy @xy के लिए max-level=" F - 1 " निर्दिष्ट करता है। V = F के साथ लॉन्च होने वाले उपकरणों के लिए, फ्रेमवर्क HAL foo@xy प्रदान नहीं करता है। V = F के साथ लॉन्च होने वाले उपकरणों पर डिवाइस संगतता मैट्रिक्स को max-level < V साथ फ्रेमवर्क एचएएल सूचीबद्ध नहीं करना चाहिए।

उदाहरण के लिए, Android 12 में, schedulerservice@1.0 को पदावनत कर दिया गया है। इसकी max-level विशेषता 5 पर सेट है, Android 11 में पेश किया गया FCM संस्करण। Android 12 फ्रेमवर्क मेनिफेस्ट देखें।

लक्ष्य FCM संस्करणों के लिए समर्थन हटाना

जब एक निश्चित लक्ष्य FCM संस्करण V के सक्रिय उपकरण एक निश्चित सीमा से नीचे गिर जाते हैं, तो लक्ष्य FCM संस्करण को अगले फ़्रेमवर्क रिलीज़ के सेट S F से हटा दिया जाता है। यह निम्नलिखित दोनों चरणों द्वारा किया जाता है:

  • compatibility_matrix.V.xml को बिल्ड नियमों से हटाना (ताकि यह सिस्टम छवि पर स्थापित न हो), और हटाए गए कार्यक्षमता पर लागू या निर्भर किसी भी कोड को हटा रहा है।
  • फ्रेमवर्क मेनिफेस्ट से V से कम या उसके बराबर max-level वाले फ्रेमवर्क HAL को हटाना, और हटाए गए फ्रेमवर्क HALs को लागू करने वाले किसी भी कोड को हटाना।

किसी दिए गए फ्रेमवर्क रिलीज़ के लिए S F के बाहर लक्ष्य FCM संस्करण वाले डिवाइस उस रिलीज़ में अपग्रेड नहीं कर सकते हैं।

एचएएल संस्करण की स्थिति

निम्नलिखित खंड एचएएल संस्करण के संभावित राज्यों (कालानुक्रमिक क्रम में) का वर्णन करते हैं।

अप्रकाशित

डिवाइस एचएएल के लिए, यदि एचएएल संस्करण किसी भी सार्वजनिक और जमे हुए संगतता मैट्रिक्स में नहीं है, तो इसे रिलीज़ नहीं किया गया और संभवतः विकास में माना जाता है। इसमें एचएएल संस्करण शामिल हैं जो केवल compatibility_matrix.current.xml में हैं। उदाहरण:

  • Android 9 के विकास के दौरान ( compatibiility_matrix.current.xml का नाम बदलकर compatibility_matrix.3.xml .3.xml करने से पहले), health@2.0 HAL को एक अप्रकाशित HAL माना जाता था।
  • teleportation@1.0 एचएएल किसी भी जारी संगतता मैट्रिक्स में नहीं है, और इसे एक अप्रकाशित एचएएल भी माना जाता है।

फ्रेमवर्क एचएएल के लिए, यदि एचएएल संस्करण केवल एक असंबंधित विकास शाखा के फ्रेमवर्क मेनिफेस्ट में है, तो इसे अप्रकाशित माना जाता है।

जारी और वर्तमान

डिवाइस एचएएल के लिए, यदि एचएएल संस्करण किसी सार्वजनिक और फ्रोजन संगतता मैट्रिक्स में है, तो इसे जारी किया जाता है। उदाहरण के लिए, FCM संस्करण 3 के फ़्रीज़ होने के बाद (जब compatibiility_matrix.current.xml का नाम बदलकर संगतता_मैट्रिक्स.3.xml कर दिया जाता compatibility_matrix.3.xml ) और AOSP में प्रकाशित किया जाता है, तो health@2.0 HAL को एक जारी और वर्तमान HAL संस्करण माना जाता है।

यदि कोई एचएएल संस्करण सार्वजनिक और फ्रोजन compatibility_matrix.current.xml मैट्रिक्स में है जिसमें उच्चतम एफसीएम संस्करण है (संगतता_मैट्रिक्स.current.xml को छोड़कर), एचएएल संस्करण वर्तमान है (अर्थात बहिष्कृत नहीं)। उदाहरण के लिए, मौजूदा एचएएल संस्करण (जैसे nfc@1.0 compatibility_matrix.3.xml पेश किए गए) जो compatibility_matrix.legacy.xml में मौजूद हैं, उन्हें भी जारी और वर्तमान एचएएल संस्करण माना जाता है।

फ्रेमवर्क एचएएल के लिए, यदि कोई एचएएल संस्करण नवीनतम जारी शाखा के फ्रेमवर्क मैनिफेस्ट में max-level विशेषता के बिना है या (असामान्य रूप से) इस शाखा में जारी एफसीएम संस्करण के बराबर या उससे अधिक का max-level है, तो इसे जारी किया गया माना जाता है और वर्तमान एचएएल संस्करण। उदाहरण के लिए, displayservice एचएएल जारी किया गया है और एंड्रॉइड 12 में चालू है, जैसा कि निर्दिष्ट किया गया है Android 12framework manifest

जारी किया गया लेकिन बहिष्कृत

डिवाइस एचएएल के लिए, एचएएल संस्करण को बहिष्कृत कर दिया जाता है यदि और केवल तभी जब निम्नलिखित सभी मिलते हैं:

  • इसे जारी किया जाता है।
  • यह सार्वजनिक और जमे हुए संगतता मैट्रिक्स में नहीं है जिसमें उच्चतम एफसीएम संस्करण है।
  • यह एक सार्वजनिक और जमे हुए संगतता मैट्रिक्स में है कि ढांचा अभी भी समर्थन करता है।

उदाहरण:

इसलिए एंड्रॉइड 9 में power@1.0 चालू है, लेकिन बहिष्कृत नहीं है।

फ्रेमवर्क एचएएल के लिए, यदि एचएएल संस्करण नवीनतम जारी शाखा के फ्रेमवर्क मेनिफेस्ट में है, जिसमें इस शाखा में जारी एफसीएम संस्करण की तुलना में max-level की विशेषता कम है, तो इसे एक जारी लेकिन बहिष्कृत एचएएल संस्करण माना जाता है। उदाहरण के लिए, schedulerservice सेवा एचएएल जारी की गई है, लेकिन एंड्रॉइड 12 में पदावनत है, जैसा कि निर्दिष्ट किया गया है Android 12framework manifest

निकाला गया

डिवाइस एचएएल के लिए, एक एचएएल संस्करण हटा दिया जाता है यदि और केवल तभी जब निम्नलिखित सत्य हों:

  • इसे पहले जारी किया गया था।
  • यह किसी भी सार्वजनिक और जमे हुए संगतता मैट्रिक्स में नहीं है कि ढांचा समर्थन करता है।

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

फ्रेमवर्क एचएएल के लिए, एक एचएएल संस्करण को हटा दिया जाता है यदि और केवल तभी जब निम्नलिखित मिलते हैं:

  • इसे पहले जारी किया गया था।
  • यह नवीनतम जारी की गई शाखा के किसी भी ढांचे में नहीं है।

लीगेसी एफसीएम

लक्ष्य FCM संस्करण विरासत सभी गैर-ट्रेबल उपकरणों के लिए एक विशेष मूल्य है। लीगेसी FCM, compatibility_matrix.legacy.xml , लीगेसी डिवाइस (अर्थात Android 8.0 से पहले लॉन्च किए गए डिवाइस) पर फ्रेमवर्क की आवश्यकताओं को सूचीबद्ध करता है।

यदि यह फ़ाइल संस्करण F वाले FCM के लिए मौजूद है, तो किसी भी गैर-ट्रेबल डिवाइस को F में अपग्रेड किया जा सकता है, बशर्ते उसका डिवाइस मेनिफेस्ट इस फ़ाइल के साथ संगत हो। इसका निष्कासन अन्य लक्ष्य FCM संस्करणों के लिए FCMs के समान प्रक्रिया का पालन करता है (सक्रिय पूर्व-8.0 उपकरणों की संख्या एक निश्चित सीमा से कम होने के बाद हटा दिया जाता है)।

जारी एफसीएम संस्करण

जारी किए गए FCM संस्करणों की सूची hardware/interfaces/compatibility_matrices संगतता_मैट्रिसेस के अंतर्गत पाई जा सकती है।

किसी विशिष्ट Android रिलीज़ के साथ जारी किए गए FCM संस्करण को खोजने के लिए, Level.h देखें।