Modulmetadaten

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

Beispiel:

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