应用搜索

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

AppSearch 是一种设备上的索引和结构化搜索引擎,在 Android 12 中作为 APEX 发布。在 Android 13 中,AppSearch 作为 Mainline 模块发布。

动机

确保在整个 Android 生态系统中一致地实施 AppSearch 并支持可更新性。

好处:

  • 允许通过 Play 商店更新 AppSearch
  • 确保符合 AppSearch CDD 要求

细节

  • 通过 AppSearch API 收集的数据保留在用户的设备上(用于性能优化目的的聚合指标数据除外)。
  • 具有低 I/O 使用率的快速、移动优先存储实现
  • 对大型数据集进行高效索引和查询
  • 多语言支持,如英语、西班牙语和 CJKT
  • 相关性排名和使用评分

应用搜索架构

图 1 突出显示了 AppSearch 概念以及系统服务流程边界。

AppSearch 模块架构

图 1. AppSearch 模块架构

模块边界

  • AppSearch 主线 Apex - com.android.appsearch

    • AppSearch API 表面 (Java)
      • 代码位置: frameworks/base/apex/appsearch/framework
      • 进程: BOOT_CLASS_PATH
    • AppSearchManagerService (Java)
      • 代码位置: frameworks/base/apex/appsearch/service
      • 进程:system_server
    • 结冰本机库(C++)
      • 代码位置: external/icing
      • 进程:system_server
  • HAL 接口/实现 (C++)

    • 不适用

参考图1中的模块架构图。

包装格式

该模块的主要功能包含在 APEX 包com.android.appsearch中。

依赖项

  • 利比库
  • libprotobuf-cpp-lite
  • ndk

定制

此模块不可自定义。