Od 27 marca 2025 r. zalecamy używanie android-latest-release
zamiast aosp-main
do kompilowania i wspołtworzenia AOSP. Więcej informacji znajdziesz w artykule o zmianach w AOSP.
ModuleMetadata
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Moduł ModuleMetadata zawiera metadane dotyczące listy modułów na danym urządzeniu. Metadane są parsowane i przechowywane w pamięci podręcznej, gdy tylko serwer systemowy rozpocznie działanie.
Plik APK ModuleMetadata zawiera moduł ModuleInfoProvider
, który implementuje metody getModuleInfo
i getInstalledModules
interfejsu API PackageManager. Te metody są obsługiwane przez metadane XML zanalizowane z pakietu dostawcy metadanych modułu. Nazwa pakietu metadanych modułu jest przechowywana w wartości konfiguracji config_defaultModuleMetadataProvider
.
Dostawca metadanych modułu musi zawierać wpis <metadata>
dla tagu <application>
. Wpis metadanych musi zawierać 1 klucz (android.content.pm.MODULE_METADATA
), którego wartość jest odwołaniem do zasobu XML zawierającego metadane dotyczące listy modułów na danym urządzeniu.
Moduł ModuleMetadata (com.android.modulemetadata
) jest dostarczany jako plik APK.
Dokument XML musi składać się z jednego elementu najwyższego poziomu <module-metadata>
z co najmniej jednym elementem podrzędnym. Każdy element podrzędny to element <module>
zawierający te atrybuty:
name
to odwołanie do zasobu, który zawiera widoczną dla użytkownika nazwę pakietu.
Odwzorowuje na ModuleInfo#getName
.
packageName
to nazwa pakietu modułu. Odwzorowuje ModuleInfo#getPackageName
.
isHidden
wskazuje, czy moduł jest ukryty. Odwzorowuje na:
ModuleInfo#isHidden</code>.
Przykład:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 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"]]