ModuleMetadata

O módulo ModuleMetadata contém metadados sobre a lista de módulos em um dispositivo. Os metadados são analisados e armazenados em cache assim que o servidor do sistema é iniciado.

Mudanças no Android 10

O APK ModuleMetadata contém ModuleInfoProvider, que implementa os métodos getModuleInfo e getInstalledModules da API do PackageManager. Esses métodos têm o suporte de metadados XML analisados em um pacote de provedor de metadados do módulo. O nome do pacote de metadados do módulo é armazenado no valor de configuração config_defaultModuleMetadataProvider.

O provedor de metadados do módulo precisa conter uma entrada <metadata> para a tag <application>. A entrada de metadados precisa conter uma única chave (android.content.pm.MODULE_METADATA) cujo valor seja uma referência a um recurso XML que contenha metadados sobre a lista de módulos em um determinado dispositivo.

Formato do pacote

O módulo ModuleMetadata (com.android.modulemetadata) é enviado como um arquivo APK.

Elementos de metadados

O documento XML precisa consistir em um único elemento <module-metadata> de nível superior com um ou mais filhos. Cada elemento filho é um elemento <module> que contém os seguintes atributos:

  • name é uma referência de recurso para um nome de pacote visível para o usuário. Maps para ModuleInfo#getName.
  • packageName é o nome do pacote do módulo. É mapeado para ModuleInfo#getPackageName.
  • isHidden indica se o módulo está oculto. É mapeado para ModuleInfo#isHidden</code>.

Exemplo:

<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>