Le module ModuleMetadata contient des métadonnées sur la liste des modules sur un appareil donné. Les métadonnées sont analysées et mises en cache dès que le serveur système démarre.
Changements dans Android 10
L'APK ModuleMetadata contient ModuleInfoProvider
, qui implémente les méthodes getModuleInfo
et getInstalledModules
à partir de l'API de PackageManager. Ces méthodes sont soutenues par des métadonnées XML analysées à partir d'un package de fournisseur de métadonnées de module. Le nom de package du package de métadonnées de module est stocké dans la valeur de configuration config_defaultModuleMetadataProvider
.
Le fournisseur de métadonnées du module doit contenir une <metadata>
entrée pour son <application>
étiquette. 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 qui contient des métadonnées sur la liste des modules sur un appareil donné.
Format de paquet
Le module ModuleMetadata ( com.android.modulemetadata
) est livré sous forme de fichier APK.
Éléments de métadonnées
Le document XML doit consister en un seul niveau supérieur <module-metadata>
élément avec un ou plusieurs enfants. Chaque enfant est un <module>
élément qui contient 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 caché. Correspond àModuleInfo#isHidden</code>.
Exemple:
<module-metadata
<module name="@string/resource" packageName="package_name" isHidden="false|true"
<module ....
</module-metadata>