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>