應用搜索

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

定制

此模塊不可自定義。