ModuleMetadata

Moduł ModuleMetadata zawiera metadane dotyczące listy modułów na danym urządzeniu. Metadane są analizowane i buforowane natychmiast po uruchomieniu serwera systemowego.

Zmiany w Androidzie 10

Plik APK ModuleMetadata zawiera ModuleInfoProvider, który implementuje metody getModuleInfogetInstalledModules z interfejsu API Menedżera pakietów. Te metody są oparte na metadanych XML przeanalizowanych 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ć pojedynczy klucz (android.content.pm.MODULE_METADATA), którego wartość jest odwołaniem do zasobu XML zawierającego metadane 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 to element <module> zawierający te atrybuty:

  • name to odwołanie do zasobu, czyli nazwy pakietu widocznej dla użytkownika. Odwzorowuje na ModuleInfo#getName.
  • packageName to nazwa pakietu modułu. Odwzorowuje na 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>