Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

ModuleMetadata

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

Android 10 の変更点

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

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

形式と依存関係

ModuleMetadata モジュールは APK ファイルとして配布されます。XML ドキュメントでは、メタデータに最上位の <module-metadata> 要素があり、子要素が 1 つ以上含まれています。それぞれの子は次の属性を含む <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>