ModuleMetadata मॉड्यूल में मॉड्यूल की सूची के बारे में दिए गए डिवाइस पर. सिस्टम सर्वर शुरू होते ही, मेटाडेटा को पार्स और कैश मेमोरी में सेव किया जाता है.
Android 10 में हुए बदलाव
ModuleMetadata APK में ModuleInfoProvider
शामिल होता है, जो PackageManager के एपीआई से getModuleInfo
और getInstalledModules
तरीकों को लागू करता है. इन तरीकों के लिए, मेटाडेटा की सेवा देने वाली कंपनी के पैकेज से पार्स किए गए एक्सएमएल मेटाडेटा का इस्तेमाल किया जाता है. मॉड्यूल मेटाडेटा पैकेज के लिए पैकेज का नाम, config_defaultModuleMetadataProvider
कॉन्फ़िगरेशन वैल्यू में सेव किया जाता है.
मॉड्यूल मेटाडेटा की सेवा देने वाली कंपनी में एक <metadata>
होना चाहिए
उसके <application>
टैग के लिए प्रविष्टि. मेटाडेटा एंट्री में ये चीज़ें ज़रूर शामिल होनी चाहिए
एक कुंजी (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>