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 que le serveur système démarre.
Modifications apportées à Android 10
L'APK ModuleMetadata contient ModuleInfoProvider
, qui
implémente getModuleInfo
et getInstalledModules
.
de l'API du gestionnaire de packages. Ces méthodes reposent
par métadonnées XML analysées à partir d'un package 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 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 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 élément <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>