ModuleMetadata मॉड्यूल में किसी दिए गए डिवाइस पर मॉड्यूल की सूची के बारे में मेटाडेटा होता है। सिस्टम सर्वर प्रारंभ होते ही मेटाडेटा को पार्स और कैश किया जाता है।
एंड्रॉइड 10 में बदलाव
ModuleMetadata APK में ModuleInfoProvider
शामिल है, जो PackageManager के API से getModuleInfo
और getInstalledModules
तरीकों को लागू करता है। ये विधियाँ मॉड्यूल मेटाडेटा प्रदाता पैकेज से पार्स किए गए XML मेटाडेटा द्वारा समर्थित हैं। मॉड्यूल मेटाडेटा पैकेज के लिए पैकेज का नाम config_defaultModuleMetadataProvider
कॉन्फ़िगरेशन मान में संग्रहीत है।
मॉड्यूल मेटाडेटा प्रदाता में इसके <application>
टैग के लिए एक <metadata>
प्रविष्टि होनी चाहिए। मेटाडेटा प्रविष्टि में एक एकल कुंजी ( android.content.pm.MODULE_METADATA
) होनी चाहिए जिसका मान एक XML संसाधन का संदर्भ है जिसमें किसी दिए गए डिवाइस पर मॉड्यूल की सूची के बारे में मेटाडेटा शामिल है।
पैकेज प्रारूप
मॉड्यूलमेटाडेटा मॉड्यूल ( com.android.modulemetadata
) एक एपीके फ़ाइल के रूप में वितरित किया जाता है।
मेटाडेटा तत्व
XML दस्तावेज़ में एक या अधिक बच्चों के साथ एक शीर्ष स्तर <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>