模塊元數據

ModuleMetadata 模塊包含有關給定設備上模塊列表的元數據。系統服務器一啟動就解析並緩存元數據。

Android 10 的變化

ModuleMetadata APK 包含ModuleInfoProvider ,它從 PackageManager 的 API 實現getModuleInfogetInstalledModules方法。這些方法由從模塊元數據提供程序包解析的 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>