2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
ModuleMetadata
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
ModuleMetadata モジュールには、特定デバイス上のモジュールのリストに関するメタデータが含まれています。メタデータは、システム サーバーが起動するとすぐに解析されてキャッシュに保存されます。
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>
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-03-26 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-03-26 UTC。"],[],[],null,["# ModuleMetadata\n\nThe ModuleMetadata module contains metadata about the list of modules on a\ngiven device. The metadata is parsed and cached as soon as the system server\nstarts.\n\nChanges in Android 10\n---------------------\n\nThe ModuleMetadata APK contains `ModuleInfoProvider`, which\nimplements the `getModuleInfo` and `getInstalledModules`\nmethods from the PackageManager's API. These methods are backed\nby XML metadata parsed from a module metadata provider package. The package\nname for the module metadata package is stored in the\n`config_defaultModuleMetadataProvider` config value.\n\nThe module metadata provider must contain a `\u003cmetadata\u003e`\nentry for its `\u003capplication\u003e` tag. The metadata entry must\ncontain a single key (`android.content.pm.MODULE_METADATA`) whose\nvalue is a reference to an XML resource that contains metadata about the list\nof modules on a given device.\n\nPackage format\n--------------\n\nThe ModuleMetadata module (`com.android.modulemetadata`) is delivered\nas an APK file.\n\nMetadata elements\n-----------------\n\nThe XML document must consist of a single top level `\u003cmodule-metadata\u003e`\nelement with one or more children. Each child is a `\u003cmodule\u003e`\nelement that contains the following attributes:\n\n- `name` is a resource reference to a user-visible package name. Maps to `ModuleInfo#getName`.\n- `packageName` is the package name of the module. Maps to `ModuleInfo#getPackageName`.\n- `isHidden` indicates whether the module is hidden. Maps to `ModuleInfo#isHidden\u003c/code\u003e.`\n\nExample: \n\n \u003cmodule-metadata\u003e\n \u003cmodule name=\"@string/resource\" packageName=\"package_name\" isHidden=\"false|true\"\u003e\n \u003cmodule .... \u003e\n \u003c/module-metadata\u003e"]]