ModuleMetadata

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.

Zmiany w Androidzie 10

Plik APK ModuleMetadata zawiera moduł ModuleInfoProvider, który implementuje metody getModuleInfogetInstalledModules interfejsu PackageManager API. 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ć atrybut <metadata> dla swojego tagu <application>. Wpis metadanych musi zawiera pojedynczy klucz (android.content.pm.MODULE_METADATA), którego Wartość jest odwołaniem do zasobu XML, który zawiera 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 jednym elementem podrzędnym. Każdy element podrzędny to element <module> zawierający te atrybuty:

  • name to odniesienie do zasobu do nazwy pakietu widocznej dla użytkownika. Mapy do: ModuleInfo#getName.
  • packageName to nazwa pakietu modułu. Mapuje na ModuleInfo#getPackageName
  • isHidden wskazuje, czy moduł jest ukryty. Mapuje na ModuleInfo#isHidden</code>.

Przykład:

<module-metadata>
<module name="@string/resource" packageName="package_name" isHidden="false|true">
<module .... >
</module-metadata>