Le module ModuleMetadata contient des métadonnées sur la liste des modules sur une pour 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 dans 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 pour le package de métadonnées du module est stocké dans la valeur de configuration config_defaultModuleMetadataProvider
.
Le fournisseur de métadonnées du module doit contenir un <metadata>
pour sa balise <application>
. L'entrée de métadonnées
ne contiennent qu'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.
de modules sur un appareil donné.
Format du package
Le module ModuleMetadata (com.android.modulemetadata
) est envoyé
en tant que fichier APK.
Éléments de métadonnées
Le document XML doit comporter un seul élément de niveau supérieur <module-metadata>
.
avec un ou plusieurs enfants. Chaque enfant est un <module>
contenant les attributs suivants:
name
est une référence de ressource à un nom de package visible par l'utilisateur. Correspond àModuleInfo#getName
.packageName
est le nom du package du module. Correspond àModuleInfo#getPackageName
isHidden
indique 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>