Módulo Metadados

O módulo ModuleMetadata contém metadados sobre a lista de módulos em um determinado 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 são apoiados por metadados XML analisados ​​de um pacote do 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 deve conter uma entrada <metadata> para sua tag <application> . A entrada de metadados deve conter uma única chave ( android.content.pm.MODULE_METADATA ) cujo valor é uma referência a um recurso XML que contém metadados sobre a lista de módulos em um determinado dispositivo.

Formato do pacote

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

Elementos de metadados

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

  • name é uma referência de recurso para um nome de pacote visível ao usuário. Mapeia para ModuleInfo#getName .
  • packageName é o nome do pacote do módulo. Mapeia para ModuleInfo#getPackageName .
  • isHidden indica se o módulo está oculto. Mapas para ModuleInfo#isHidden .

Exemplo:

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