AppSearch 是裝置端索引和結構化搜尋引擎,已在 Android 12 中以 APEX 形式發布。在 Android 13 中,AppSearch 會以 Mainline 模組的形式出貨。
動機
確保 Android 生態系統中 AppSearch 的實作方式一致,並支援更新。
優點:
- 允許透過 Play 商店更新 AppSearch
 - 確保符合 AppSearch CDD 規定
 
詳細說明
- 透過 AppSearch API 收集的資料會保留在使用者裝置上 (匯總指標資料除外,這類資料會用於提升效能)。
 - 快速導入行動優先儲存空間,減少 I/O 使用量
 - 可對大型資料集進行高效率的索引和查詢
 - 支援多種語言,例如英文、西班牙文和中日韓台
 - 關聯性排名和使用分數
 
AppSearch 架構
圖 1 著重說明 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 Native 程式庫 (C++)
- 代碼位置:
external/icing - 程序:system_server
 
 - 代碼位置:
 
- AppSearch API 介面 (Java)
 HAL 介面/實作項目 (C++)
- 無
 
請參閱圖 1 中的模組架構圖。
套件格式
這個模組的主要函式包含在 APEX 套件 com.android.appsearch 中。
依附元件
- libicu
 - libprotobuf-cpp-lite
 - ndk
 
自訂
這個模組無法自訂。