Das ModuleMetadata-Modul enthält Metadaten über die Liste der Module auf einem bestimmten Gerät. Die Metadaten werden analysiert und zwischengespeichert, sobald der Systemserver startet.
Änderungen in Android 10
Das ModuleMetadata APK enthält ModuleInfoProvider
, das die Methoden getModuleInfo
und getInstalledModules
aus der PackageManager-API implementiert. Diese Methoden werden durch XML-Metadaten unterstützt, die aus einem Modulmetadatenanbieterpaket analysiert werden. 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 über die Liste der Module auf einem bestimmten Gerät enthält.
Paketformat
Das ModuleMetadata-Modul ( com.android.modulemetadata
) wird als APK-Datei geliefert.
Metadatenelemente
Das XML-Dokument muss aus einem einzelnen <module-metadata>
-Element der obersten Ebene mit einem oder mehreren untergeordneten Elementen bestehen. Jedes untergeordnete Element ist ein <module>
-Element, das die folgenden Attribute enthält:
-
name
ist eine Ressourcenreferenz auf einen für den Benutzer sichtbaren Paketnamen. WirdModuleInfo#getName
zugeordnet. -
packageName
ist der Paketname des Moduls. WirdModuleInfo#getPackageName
zugeordnet. -
isHidden
gibt an, ob das Modul ausgeblendet ist. Zuordnung zuModuleInfo#isHidden</code>.
Beispiel:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>