El módulo ModuleMetadata contiene metadatos sobre la lista de módulos en un dispositivo determinado. Los metadatos se analizan y almacenan en caché tan pronto como se inicia el servidor del sistema.
Cambios en Android 10
El APK ModuleMetadata contiene ModuleInfoProvider
, que implementa los métodos getModuleInfo
y getInstalledModules
de la API PackageManager
. Estos métodos están respaldados por metadatos XML analizados de un paquete de proveedor de metadatos de módulo. El nombre del paquete para el 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 única clave ( android.content.pm.MODULE_METADATA
) cuyo valor es una referencia a un recurso XML que contiene metadatos sobre la lista de módulos en un dispositivo determinado.
Formato y dependencias
El módulo ModuleMetadata se entrega como un archivo APK. En el documento XML, los metadatos incluyen un único elemento <module-metadata>
nivel superior con uno o más elementos secundarios. Cada hijo es un elemento <module>
que contiene los siguientes atributos:
-
name
es una referencia de recurso a un nombre de paquete visible para el usuario. SeModuleInfo#getName
aModuleInfo#getName
. -
packageName
es el nombre del paquete del módulo. SeModuleInfo#getPackageName
aModuleInfo#getPackageName
. -
isHidden
indica si el módulo está oculto. SeModuleInfo#isHidden
aModuleInfo#isHidden
.
Ejemplo:
<module-metadata> <module name="@string/resource" packageName="package_name" isHidden="false|true" /> <module .... /> </module-metadata>