ModuleMetadata 模組包含有關給定設備上模組清單的元資料。系統伺服器啟動後,元資料就會被解析並快取。
Android 10 的變化
ModuleMetadata APK 包含ModuleInfoProvider
,它實作 PackageManager 的 API 中的getModuleInfo
和getInstalledModules
方法。這些方法由從模組元資料提供者包解析的 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>