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>