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>