Das Modul „ModuleMetadata“ enthält Metadaten zur Liste der Module in einem auf dem jeweiligen Gerät. Die Metadaten werden sobald der Systemserver gestartet wird, geparst und im Cache gespeichert.
Änderungen bei Android 10
Das ModuleMetadata-APK enthält ModuleInfoProvider
, in dem die Methoden getModuleInfo
und getInstalledModules
aus der API des PackageManagers implementiert sind. Diese Methoden werden abgesichert
durch XML-Metadaten, die aus dem Paket
des Modulmetadatenanbieters geparst wurden. Das Paket
des Modulmetadatenpakets wird im
Konfigurationswert für config_defaultModuleMetadataProvider
.
Der Modulmetadatenanbieter muss einen <metadata>
enthalten
für sein <application>
-Tag. Der Metadateneintrag muss
einen einzelnen Schlüssel (android.content.pm.MODULE_METADATA
) enthalten, dessen
value ist ein Verweis auf eine XML-Ressource, die Metadaten zur Liste enthält.
von Modulen auf einem Gerät.
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 mit einem oder mehreren untergeordneten Elementen bestehen. Jedes untergeordnete Element ist ein <module>
-Element mit den folgenden Attributen:
name
ist ein Ressourcenverweis auf einen für den Nutzer sichtbaren Paketnamen. Zuordnung zuModuleInfo#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>