Das Modul „ModuleMetadata“ enthält Metadaten zur Liste der Module auf einem bestimmten Gerät. Die Metadaten werden sobald der Systemserver gestartet wird, geparst und im Cache gespeichert.
Änderungen in Android 10
Das ModuleMetadata-APK enthält ModuleInfoProvider
, in dem die Methoden getModuleInfo
und getInstalledModules
aus der PackageManager API implementiert sind. Diese Methoden werden von XML-Metadaten unterstützt, die aus einem Anbieterpaket für Modulmetadaten geparst werden. Der Paketname für das Modulmetadatenpaket wird im Konfigurationswert config_defaultModuleMetadataProvider
gespeichert.
Der Anbieter von Modulmetadaten 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 <module-metadata>
-Element der obersten Ebene mit einem oder mehreren untergeordneten Elementen bestehen. Jedes untergeordnete Element ist ein <module>
-Element mit den folgenden Attributen:
name
ist eine Ressourcenreferenz auf einen für Nutzer sichtbaren Paketnamen. Wird zugeordnet zuModuleInfo#getName
.packageName
ist der Paketname des Moduls. Wird zuModuleInfo#getPackageName
zugeordnet.isHidden
gibt an, ob das Modul ausgeblendet ist. Wird zugeordnet zuModuleInfo#isHidden</code>.
Beispiel:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>