Начиная с 27 марта 2025 г. мы рекомендуем использовать android-latest-release
вместо aosp-main
для создания и участия в AOSP. Дополнительные сведения см. в разделе Изменения в AOSP .
Метаданные модуля
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Модуль ModuleMetadata содержит метаданные о списке модулей на данном устройстве. Метаданные анализируются и кэшируются сразу после запуска системного сервера.
ModuleMetadata APK содержит ModuleInfoProvider
, который реализует методы getModuleInfo
и getInstalledModules
из API PackageManager. Эти методы поддерживаются метаданными XML, проанализированными из пакета поставщика метаданных модуля. Имя пакета для пакета метаданных модуля хранится в значении конфигурации config_defaultModuleMetadataProvider
.
Поставщик метаданных модуля должен содержать запись <metadata>
для своего тега <application>
. Запись метаданных должна содержать один ключ ( android.content.pm.MODULE_METADATA
), значение которого является ссылкой на ресурс XML, содержащий метаданные о списке модулей на данном устройстве.
Модуль ModuleMetadata ( com.android.modulemetadata
) поставляется в виде APK-файла.
XML-документ должен состоять из одного элемента верхнего уровня <module-metadata>
с одним или несколькими дочерними элементами. Каждый дочерний элемент — это элемент <module>
, содержащий следующие атрибуты:
-
name
— ссылка на ресурс, указывающий на видимое пользователю имя пакета. Сопоставляется с ModuleInfo#getName
. -
packageName
— имя пакета модуля. Сопоставляется с ModuleInfo#getPackageName
. -
isHidden
указывает, скрыт ли модуль. Соответствует ModuleInfo#isHidden</code>.
Пример:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-29 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"]]