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>