ModuleMetadata

ModuleMetadata モジュールには、特定デバイス上のモジュールのリストに関するメタデータが含まれています。メタデータは、システム サーバーが起動するとすぐに解析されてキャッシュに保存されます。

Android 10 での変更点

ModuleMetadata APK には ModuleInfoProvider が含まれます。これは、PackageManager の API の getModuleInfo メソッドと getInstalledModules メソッドを実装しています。これらのメソッドは、モジュールのメタデータ プロバイダ パッケージから解析された XML メタデータによってサポートされています。モジュール メタデータ パッケージのパッケージ名は、config_defaultModuleMetadataProvider 構成の値に格納されます。

モジュール メタデータ プロバイダには、<application> タグの <metadata> エントリが含まれている必要があります。メタデータ エントリには 1 つのキー(android.content.pm.MODULE_METADATA)が必要です。その値は、特定デバイス上のモジュールのリストに関するメタデータを含む XML リソースへの参照です。

パッケージの形式

ModuleMetadata モジュール(com.android.modulemetadata)は APK ファイルとして配布されます。

メタデータ要素

XML ドキュメントは、1 つ以上の子を持つトップレベルの <module-metadata> 要素 1 つで構成されている必要があります。それぞれの子は次の属性を含む <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>