Das Modul „ModuleMetadata“ enthält Metadaten zur Liste der Module auf einem bestimmten Gerät. Die Metadaten werden geparst und im Cache gespeichert, sobald der Systemserver gestartet wird.
Änderungen in Android 10
Die ModuleMetadata-APK enthält ModuleInfoProvider, das die Methoden getModuleInfo und getInstalledModules aus der API von PackageManager implementiert. Diese Methoden werden durch XML-Metadaten unterstützt, die aus einem Paket des Modulmetadatenanbieters geparst wurden. Der Paketname für das Modulmetadatenpaket wird im Konfigurationswert config_defaultModuleMetadataProvider gespeichert.
Der Modulmetadatenanbieter muss einen <metadata>
Eintrag für sein <application> Tag enthalten. Der Metadateneintrag muss einen einzelnen Schlüssel (android.content.pm.MODULE_METADATA) enthalten, dessen Wert ein Verweis auf eine XML-Ressource ist, die Metadaten zur Liste der Module auf einem bestimmten Gerät enthält.
Paketformat
Das Modul „ModuleMetadata“ (com.android.modulemetadata) wird als APK-Datei bereitgestellt.
Metadatenelemente
Das XML-Dokument muss aus einem einzelnen Element der obersten Ebene <module-metadata>
mit einem oder mehreren untergeordneten Elementen bestehen. Jedes untergeordnete Element ist ein <module>
-Element, das die folgenden Attribute enthält:
nameist ein Ressourcenverweis auf einen für Nutzer sichtbaren Paketnamen. WirdModuleInfo#getNamezugeordnet.packageNameist der Paketname des Moduls. WirdModuleInfo#getPackageNamezugeordnet.isHiddengibt an, ob das Modul ausgeblendet ist. Wird zugeordnetModuleInfo#isHidden</code>.
Beispiel:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>