ModuleMetadata

ModuleMetadata 模組包含特定裝置上模組清單的中繼資料。系統伺服器啟動後,系統就會剖析並快取中繼資料。

Android 10 的變更

ModuleMetadata APK 包含 ModuleInfoProvider,可透過 PackageManager 的 API 實作 getModuleInfogetInstalledModules 方法。這些方法由從模組中繼資料提供者套件解析的 XML 中繼資料支援。模組中繼資料套件的套件名稱會儲存在 config_defaultModuleMetadataProvider 設定值中。

模組中繼資料供應器必須包含 <application> 標記的 <metadata> 項目。中繼資料項目必須包含單一鍵 (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>