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>