2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
AppSearch
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
AppSearch はオンデバイスのインデックス登録と構造化された検索エンジンであり、Android 12 では APEX として提供されていました。Android 13 では、AppSearch は Mainline モジュールとして提供されています。
目的
Android エコシステム全体で AppSearch の実装方法を統一し、更新可能性をサポートすること。
メリット:
- Play ストアで AppSearch を更新できます
- AppSearch CDD の要件に確実に準拠します
詳細
- AppSearch API を介して収集されたデータは、ユーザーのデバイスに残ります(パフォーマンスの最適化に使用される集計指標データを除く)
- I/O 使用率の低い、高速かつモバイル ファーストなストレージの実装
- 大規模なデータセットに対する効率性に優れたインデックス登録とクエリ
- 複数言語のサポート(英語、スペイン語、CJKT など)
- 関連性ランキングと使用状況スコア
AppSearch のアーキテクチャ
図 1 は、AppSearch のコンセプトとシステム サービスのプロセスの境界を示しています。
図 1. AppSearch モジュールのアーキテクチャ
モジュールの境界
図 1 のモジュールのアーキテクチャ図をご覧ください。
このモジュールの主な機能は、APEX パッケージ com.android.appsearch
に含まれています。
依存関係
- libicu
- libprotobuf-cpp-lite
- NDK
カスタマイズ
このモジュールはカスタマイズできません。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-03-10 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-10 UTC。"],[],[],null,["# AppSearch, an on-device indexing and structured search engine, was shipped as\nan APEX in Android 12. In Android\n13, AppSearch is shipped as a Mainline module.\n\nMotivation\n----------\n\nTo ensure a consistent implementation of AppSearch across the Android ecosystem\nand support updateability.\n\nBenefits:\n\n- Allow updating AppSearch via Play Store\n- Ensure compliance with the AppSearch CDD requirements\n\nDetails\n-------\n\n- Data collected through AppSearch APIs remains on the user's device (except aggregated metrics data, which is used for performance optimization purposes).\n- A fast, mobile-first storage implementation with low I/O use\n- Highly efficient indexing and querying over large data sets\n- Multi-language support, such as English, Spanish and CJKT\n- Relevance ranking and usage scoring\n\nAppSearch architecture\n----------------------\n\nFigure 1 highlights AppSearch concepts as well as the system service\nprocess boundary.\n\n**Figure 1.** AppSearch module architecture\n\nModule boundary\n---------------\n\n- AppSearch Mainline Apex - `com.android.appsearch`\n\n - AppSearch API surface (Java)\n - Code Location: `frameworks/base/apex/appsearch/framework`\n - Process: \u003cvar translate=\"no\"\u003eBOOT_CLASS_PATH\u003c/var\u003e\n - AppSearchManagerService (Java)\n - Code Location: `frameworks/base/apex/appsearch/service`\n - Process: system_server\n - Icing Native library (C++)\n - Code Location: `external/icing`\n - Process: system_server\n- HAL Interface/Implementations (C++)\n\n - N/A\n\nRefer to the module architecture diagram in Figure 1.\n\nPackage format\n--------------\n\nThe main functions of this module are included in the APEX package\n`com.android.appsearch`.\n\nDependencies\n------------\n\n- libicu\n- libprotobuf-cpp-lite\n- ndk\n\nCustomization\n-------------\n\nThis module is not customizable."]]