Le module ModuleMetadata contient des métadonnées sur la liste des modules d'un appareil donné. Les métadonnées sont analysées et mises en cache dès le démarrage du serveur système.
Modifications apportées à Android 10
L'APK ModuleMetadata contient ModuleInfoProvider, qui implémente les méthodes getModuleInfo et getInstalledModules de l'API PackageManager. Ces méthodes sont basées sur des métadonnées XML analysées à partir d'un package de fournisseur de métadonnées de module. Le nom du package de métadonnées de module est stocké dans la valeur de configuration config_defaultModuleMetadataProvider.
Le fournisseur de métadonnées de module doit contenir une <metadata>
entrée pour sa <application> balise. L'entrée de métadonnées doit contenir une seule clé (android.content.pm.MODULE_METADATA) dont la valeur est une référence à une ressource XML contenant des métadonnées sur la liste des modules d'un appareil donné.
Format du package
Le module ModuleMetadata (com.android.modulemetadata) est fourni sous forme de fichier APK.
Éléments de métadonnées
Le document XML doit comporter un seul élément <module-metadata>
de niveau supérieur avec un ou plusieurs enfants. Chaque enfant est un <module>
élément qui contient les attributs suivants :
nameest une référence de ressource à un nom de package visible par l'utilisateur. Correspond àModuleInfo#getName.packageNameest le nom du package du module. Correspond àModuleInfo#getPackageName.isHiddenindique si le module est masqué. Correspond àModuleInfo#isHidden</code>.
Exemple :
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>