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>