Moduł ModuleMetadata zawiera metadane dotyczące listy modułów na danym urządzeniu. Metadane są analizowane i zapisywane w pamięci podręcznej zaraz po uruchomieniu serwera systemowego.
Zmiany w Androidzie 10
Plik APK ModuleMetadata zawiera ModuleInfoProvider, który implementuje metody getModuleInfo i getInstalledModules z interfejsu API PackageManager. Te metody są obsługiwane przez metadane XML analizowane z pakietu dostawcy metadanych modułu. Nazwa pakietu metadanych modułu jest przechowywana w wartości konfiguracyjnej config_defaultModuleMetadataProvider.
Dostawca metadanych modułu musi zawierać wpis <metadata>
dla tagu <application>. Wpis metadanych musi zawierać pojedynczy 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.
Format pakietu
Moduł ModuleMetadata (com.android.modulemetadata) jest dostarczany jako plik APK.
Elementy metadanych
Dokument XML musi składać się z jednego elementu najwyższego poziomu <module-metadata>
z co najmniej 1 elementem podrzędnym. Każdy element podrzędny jest elementem <module>
, który zawiera te atrybuty:
nameto odwołanie do zasobu do nazwy pakietu widocznej dla użytkownika. Odwzorowuje naModuleInfo#getName.packageNameto nazwa pakietu modułu. Odwzorowuje naModuleInfo#getPackageName.isHiddenwskazuje, czy moduł jest ukryty. Odwzorowuje naModuleInfo#isHidden</code>.
Przykład:
<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>