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 beginnt.
Änderungen bei Android 10
Das ModuleMetadata-APK enthält ModuleInfoProvider
, was
Implementiert getModuleInfo
und getInstalledModules
aus der PackageManager API. Diese Methoden werden abgesichert
durch XML-Metadaten, die aus dem Paket
des Modulmetadatenanbieters geparst wurden. 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 ModuleMetadata-Modul (com.android.modulemetadata
) wird bereitgestellt.
als APK-Datei.
Metadatenelemente
Das XML-Dokument muss aus einem einzelnen <module-metadata>
-Element der obersten Ebene bestehen
-Element mit einem oder mehreren untergeordneten Elementen. Jedes untergeordnete Element ist ein <module>
-Element mit den folgenden Attributen:
name
ist ein Ressourcenverweis auf einen für den Nutzer sichtbaren Paketnamen. EntsprichtModuleInfo#getName
.packageName
ist der Paketname des Moduls. EntsprichtModuleInfo#getPackageName
.isHidden
gibt an, ob das Modul ausgeblendet ist. EntsprichtModuleInfo#isHidden</code>.
Beispiel:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>