ModuleMetadata

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 zu ModuleInfo#getName.
  • packageName ist der Paketname des Moduls. Entspricht ModuleInfo#getPackageName.
  • isHidden gibt an, ob das Modul ausgeblendet ist. Entspricht ModuleInfo#isHidden</code>.

Beispiel:

<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>