Modulmetadaten

Das Modul „ModuleMetadata“ enthält Metadaten zur Liste der Module in einem auf dem jeweiligen Gerät. Die Metadaten werden geparst und im Cache gespeichert, sobald der Systemserver beginnt.

Änderungen in Android 10

Das ModuleMetadata-APK enthält ModuleInfoProvider, was Implementiert getModuleInfo und getInstalledModules aus der PackageManager API. 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 Modulmetadatenanbieter muss einen <metadata> enthalten für sein <application>-Tag. 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 Kind ist ein <module> -Element, das die folgenden Attribute enthält:

  • 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. Zuordnung zu ModuleInfo#isHidden</code>.

Beispiel:

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