Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

AppSearch

AppSearch 是一种设备端索引编制和结构化搜索引擎,在 Android 12 中以 APEX 的形式提供。在 Android 13 中,AppSearch 作为 Mainline 模块提供。

动机

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

优势:

  • 支持通过 Play 商店更新 AppSearch
  • 可确保符合 AppSearch CDD 要求

详细信息

  • 通过 AppSearch API 收集的数据仍会保留在用户设备上(但汇总的指标数据除外,这些数据将用于性能优化目的)。
  • 一种 I/O 占用率低的移动设备优先快速存储实现
  • 快速高效地对大型数据集进行索引编制和查询
  • 支持多种语言,例如英语、西班牙语和 CJKT
  • 相关性排名和使用情况评分

AppSearch 架构

图 1 着重展示了 AppSearch 概念以及系统服务进程的边界。

AppSearch 模块架构

图 1. AppSearch 模块架构

模块边界

  • AppSearch Mainline Apex - com.android.appsearch

    • AppSearch API Surface (Java)
      • 代码位置:frameworks/base/apex/appsearch/framework
      • 进程:BOOT_CLASS_PATH
    • AppSearchManagerService (Java)
      • 代码位置:frameworks/base/apex/appsearch/service
      • 进程:system_server
    • Icing 原生库 (C++)
      • 代码位置:external/icing
      • 进程:system_server
  • HAL 接口/实现 (C++)

    • 不适用

请参阅图 1 中的模块架构图。

软件包格式

此模块的主要函数包含在 APEX 软件包 com.android.appsearch 中。

依赖项

  • libicu
  • libprotobuf-cpp-lite
  • ndk

自定义

此模块不可自定义。