AppSearch

AppSearch 是裝置端索引和結構化搜尋引擎,已在 Android 12 中以 APEX 的形式發布。在 Android 13 中,AppSearch 會以 Mainline 模組的形式發布。

動機

為確保在 Android 生態系統中一致實作 AppSearch,並支援更新功能。

優點:

  • 允許透過 Play 商店更新 AppSearch
  • 確保符合 AppSearch CDD 規定

詳細說明

  • 透過 AppSearch API 收集的資料會保留在使用者的裝置上 (匯總指標資料除外,這類資料用於提升效能)。
  • 快速的行動優先儲存空間實作方式,可降低 I/O 用量
  • 更有效率地為大型資料集建立索引及查詢資料
  • 支援多種語言,例如英文、西班牙文和中文 (臺灣)
  • 關聯性排名和使用分數

AppSearch 架構

圖 1 強調 AppSearch 概念和系統服務程序邊界。

AppSearch 模組架構

圖 1. AppSearch 模組架構

模組邊界

  • AppSearch Mainline Apex - com.android.appsearch

    • AppSearch API 途徑 (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

自訂

這個模組無法自訂。