A partir del 27 de marzo de 2025, te recomendamos que uses android-latest-release
en lugar de aosp-main
para compilar y contribuir a AOSP. Para obtener más información, consulta Cambios en AOSP.
ModuleMetadata
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
El módulo ModuleMetadata contiene metadatos sobre la lista de módulos en un dispositivo determinado. Los metadatos se analizan y almacenan en caché en cuanto se inicia el servidor del sistema.
El APK de ModuleMetadata contiene ModuleInfoProvider
, que implementa los métodos getModuleInfo
y getInstalledModules
de la API de PackageManager. Estos métodos están respaldados
por metadatos XML analizados desde un paquete de proveedor de metadatos de módulo. El nombre del paquete del paquete de metadatos del módulo se almacena en el valor de configuración config_defaultModuleMetadataProvider
.
El proveedor de metadatos del módulo debe contener una entrada <metadata>
para su etiqueta <application>
. La entrada de metadatos debe contener una sola clave (android.content.pm.MODULE_METADATA
) cuyo valor es una referencia a un recurso XML que contiene metadatos sobre la lista de módulos de un dispositivo determinado.
El módulo ModuleMetadata (com.android.modulemetadata
) se entrega
como un archivo APK.
El documento XML debe constar de un solo elemento <module-metadata>
de nivel superior con uno o más elementos secundarios. Cada elemento secundario es un elemento <module>
que contiene los siguientes atributos:
name
es una referencia de recurso a un nombre de paquete visible para el usuario.
Se asigna a ModuleInfo#getName
.
packageName
es el nombre del paquete del módulo. Se asigna a ModuleInfo#getPackageName
.
isHidden
indica si el módulo está oculto. Se asigna a ModuleInfo#isHidden</code>.
Ejemplo:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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"]]