ModuleMetadata

ModuleMetadata मॉड्यूल में मॉड्यूल की सूची के बारे में दिए गए डिवाइस पर. सिस्टम सर्वर शुरू होते ही, मेटाडेटा को पार्स और कैश मेमोरी में सेव किया जाता है.

Android 10 में हुए बदलाव

ModuleMetadata APK में ModuleInfoProvider शामिल होता है, जो PackageManager के एपीआई से getModuleInfo और getInstalledModules तरीकों को लागू करता है. इन तरीकों का इस्तेमाल किया जा सकता है एक्सएमएल मेटाडेटा की मदद से, मॉड्यूल मेटाडेटा देने वाली कंपनी के पैकेज से पार्स किया गया. पैकेज मॉड्यूल मेटाडेटा पैकेज के लिए नाम यहां संग्रहित किया जाता है: config_defaultModuleMetadataProvider कॉन्फ़िगरेशन वैल्यू.

मॉड्यूल मेटाडेटा की सेवा देने वाली कंपनी के पास, अपने <application> टैग के लिए <metadata> एंट्री होनी चाहिए. मेटाडेटा एंट्री में एक ही कुंजी (android.content.pm.MODULE_METADATA) होनी चाहिए, जिसकी वैल्यू किसी ऐसे एक्सएमएल रिसॉर्स का रेफ़रंस हो जिसमें किसी डिवाइस पर मौजूद मॉड्यूल की सूची का मेटाडेटा हो.

पैकेज का फ़ॉर्मैट

ModuleMetadata मॉड्यूल (com.android.modulemetadata) को APK फ़ाइल के तौर पर डिलीवर किया जाता है.

मेटाडेटा एलिमेंट

एक्सएमएल दस्तावेज़ में, एक या उससे ज़्यादा चाइल्ड एलिमेंट वाला एक टॉप लेवल <module-metadata> एलिमेंट होना चाहिए. हर बच्चे की वैल्यू <module> है जिसमें नीचे दिए गए एट्रिब्यूट शामिल हैं:

  • name, उपयोगकर्ता को दिखने वाले पैकेज के नाम का रिसॉर्स रेफ़रंस है. ModuleInfo#getName के मैप.
  • packageName, मॉड्यूल का पैकेज नाम है. को मैप करता है ModuleInfo#getPackageName.
  • isHidden से पता चलता है कि मॉड्यूल छिपा है या नहीं. ModuleInfo#isHidden</code>. के लिए मैप

उदाहरण:

<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>