模塊元數據

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

Android 10 的變化

ModuleMetadata APK 包含ModuleInfoProvider ,它實現了 PackageManager API 中的getModuleInfogetInstalledModules方法。這些方法由從模塊元數據提供程序包中解析的 XML 元數據提供支持。模塊元數據包的包名存儲在config_defaultModuleMetadataProvider配置值中。

模塊元數據提供程序必須為其<application>標記包含<metadata>條目。元數據條目必須包含一個鍵 ( android.content.pm.MODULE_METADATA ),其值是對 XML 資源的引用,該資源包含有關給定設備上的模塊列表的元數據。

包裝格式

ModuleMetadata 模塊 ( com.google.android.modulemetadata ) 作為 APK 文件提供。

元數據元素

XML 文檔必須由具有一個或多個子級的單個頂級<module-metadata>元素組成。每個子元素都是一個<module>元素,包含以下屬性:

  • name是對用戶可見包名稱的資源引用。映射到ModuleInfo#getName
  • packageName是模塊的包名。映射到ModuleInfo#getPackageName
  • isHidden指示模塊是否隱藏。映射到ModuleInfo#isHidden

例子:

<module-metadata>
    <module name="@string/resource" packageName="package_name" isHidden="false|true" />
    <module .... />
</module-metadata>