हमारा सुझाव है कि 27 मार्च, 2025 से AOSP को बनाने और उसमें योगदान देने के लिए, aosp-main
के बजाय android-latest-release
का इस्तेमाल करें. ज़्यादा जानकारी के लिए, AOSP में हुए बदलाव लेख पढ़ें.
ModuleMetadata
संग्रह की मदद से व्यवस्थित रहें
अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
ModuleMetadata मॉड्यूल में, किसी डिवाइस पर मौजूद मॉड्यूल की सूची का मेटाडेटा होता है. सिस्टम सर्वर शुरू होते ही, मेटाडेटा को पार्स और कैश मेमोरी में सेव किया जाता है.
ModuleMetadata APK में ModuleInfoProvider
शामिल होता है, जो PackageManager के API से 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>
इस पेज पर मौजूद कॉन्टेंट और कोड सैंपल कॉन्टेंट के लाइसेंस में बताए गए लाइसेंस के हिसाब से हैं. Java और OpenJDK, Oracle और/या इससे जुड़ी हुई कंपनियों के ट्रेडमार्क या रजिस्टर किए हुए ट्रेडमार्क हैं.
आखिरी बार 2025-07-27 (UTC) को अपडेट किया गया.
[[["समझने में आसान है","easyToUnderstand","thumb-up"],["मेरी समस्या हल हो गई","solvedMyProblem","thumb-up"],["अन्य","otherUp","thumb-up"]],[["वह जानकारी मौजूद नहीं है जो मुझे चाहिए","missingTheInformationINeed","thumb-down"],["बहुत मुश्किल है / बहुत सारे चरण हैं","tooComplicatedTooManySteps","thumb-down"],["पुराना","outOfDate","thumb-down"],["अनुवाद से जुड़ी समस्या","translationIssue","thumb-down"],["सैंपल / कोड से जुड़ी समस्या","samplesCodeIssue","thumb-down"],["अन्य","otherDown","thumb-down"]],["आखिरी बार 2025-07-27 (UTC) को अपडेट किया गया."],[],[],null,["# ModuleMetadata\n\nThe ModuleMetadata module contains metadata about the list of modules on a\ngiven device. The metadata is parsed and cached as soon as the system server\nstarts.\n\nChanges in Android 10\n---------------------\n\nThe ModuleMetadata APK contains `ModuleInfoProvider`, which\nimplements the `getModuleInfo` and `getInstalledModules`\nmethods from the PackageManager's API. These methods are backed\nby XML metadata parsed from a module metadata provider package. The package\nname for the module metadata package is stored in the\n`config_defaultModuleMetadataProvider` config value.\n\nThe module metadata provider must contain a `\u003cmetadata\u003e`\nentry for its `\u003capplication\u003e` tag. The metadata entry must\ncontain a single key (`android.content.pm.MODULE_METADATA`) whose\nvalue is a reference to an XML resource that contains metadata about the list\nof modules on a given device.\n\nPackage format\n--------------\n\nThe ModuleMetadata module (`com.android.modulemetadata`) is delivered\nas an APK file.\n\nMetadata elements\n-----------------\n\nThe XML document must consist of a single top level `\u003cmodule-metadata\u003e`\nelement with one or more children. Each child is a `\u003cmodule\u003e`\nelement that contains the following attributes:\n\n- `name` is a resource reference to a user-visible package name. Maps to `ModuleInfo#getName`.\n- `packageName` is the package name of the module. Maps to `ModuleInfo#getPackageName`.\n- `isHidden` indicates whether the module is hidden. Maps to `ModuleInfo#isHidden\u003c/code\u003e.`\n\nExample: \n\n \u003cmodule-metadata\u003e\n \u003cmodule name=\"@string/resource\" packageName=\"package_name\" isHidden=\"false|true\"\u003e\n \u003cmodule .... \u003e\n \u003c/module-metadata\u003e"]]