À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release
au lieu de aosp-main
pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
ModuleMetadata
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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.
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 une entrée <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é.
Le module ModuleMetadata (com.android.modulemetadata
) est fourni en tant que fichier APK.
Le document XML doit se composer d'un seul élément <module-metadata>
de niveau supérieur 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>
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# ModuleMetadata\n\nThe ModuleMetadata module contains metadata about the list of modules on a\ngiven device. The metadata is parsed and cached as soon as the system server\nstarts.\n\nChanges in Android 10\n---------------------\n\nThe ModuleMetadata APK contains `ModuleInfoProvider`, which\nimplements the `getModuleInfo` and `getInstalledModules`\nmethods from the PackageManager's API. These methods are backed\nby XML metadata parsed from a module metadata provider package. The package\nname for the module metadata package is stored in the\n`config_defaultModuleMetadataProvider` config value.\n\nThe module metadata provider must contain a `\u003cmetadata\u003e`\nentry for its `\u003capplication\u003e` tag. The metadata entry must\ncontain a single key (`android.content.pm.MODULE_METADATA`) whose\nvalue is a reference to an XML resource that contains metadata about the list\nof modules on a given device.\n\nPackage format\n--------------\n\nThe ModuleMetadata module (`com.android.modulemetadata`) is delivered\nas an APK file.\n\nMetadata elements\n-----------------\n\nThe XML document must consist of a single top level `\u003cmodule-metadata\u003e`\nelement with one or more children. Each child is a `\u003cmodule\u003e`\nelement that contains the following attributes:\n\n- `name` is a resource reference to a user-visible package name. Maps to `ModuleInfo#getName`.\n- `packageName` is the package name of the module. Maps to `ModuleInfo#getPackageName`.\n- `isHidden` indicates whether the module is hidden. Maps to `ModuleInfo#isHidden\u003c/code\u003e.`\n\nExample: \n\n \u003cmodule-metadata\u003e\n \u003cmodule name=\"@string/resource\" packageName=\"package_name\" isHidden=\"false|true\"\u003e\n \u003cmodule .... \u003e\n \u003c/module-metadata\u003e"]]