A partir de 27 de março de 2025, recomendamos usar android-latest-release
em vez de aosp-main
para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
ModuleMetadata
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
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.
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 em um pacote de provedor de metadados de 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.
O módulo ModuleMetadata (com.android.modulemetadata
) é entregue
como um arquivo APK.
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.
Se relaciona com ModuleInfo#getName
.
packageName
é o nome do pacote do módulo. Mapa para
ModuleInfo#getPackageName
.
isHidden
indica se o módulo está oculto. Mapeia para
ModuleInfo#isHidden</code>.
Exemplo:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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"]]