ModuleMetadata 模組包含特定裝置上模組清單的中繼資料。系統伺服器啟動後,就會立即剖析並快取中繼資料。
Android 10 的變更
ModuleMetadata APK 包含 ModuleInfoProvider
,其中實作了 PackageManager API 的 getModuleInfo
和 getInstalledModules
方法。這些方法會由從模組中繼資料提供者套件剖析的 XML 中繼資料支援。模組中繼資料套件的套件名稱會儲存在 config_defaultModuleMetadataProvider
設定值中。
模組中繼資料供應商必須包含 <metadata>
標記的 <application>
項目。中繼資料項目必須包含單一鍵 (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>