AppSearch — это локальная система индексации и структурированного поиска, которая была представлена как APEX в Android 12. В Android 13 AppSearch представлен как основной модуль.
Мотивация
Обеспечить единообразную реализацию AppSearch в экосистеме Android и поддержку обновляемости.
Преимущества:
- Разрешить обновление AppSearch через Play Store
 - Обеспечить соответствие требованиям AppSearch CDD
 
Подробности
- Данные, собранные через API AppSearch, остаются на устройстве пользователя (за исключением агрегированных данных показателей, которые используются для оптимизации производительности).
 - Быстрая, ориентированная в первую очередь на мобильные устройства реализация хранилища с низким использованием ввода-вывода
 - Высокоэффективное индексирование и выполнение запросов по большим наборам данных
 - Поддержка нескольких языков, таких как английский, испанский и CJKT
 - Рейтинг релевантности и оценка использования
 
Архитектура AppSearch
На рисунке 1 показаны концепции AppSearch, а также границы процесса системной службы.

Рисунок 1. Архитектура модуля AppSearch
Граница модуля
AppSearch Mainline Apex —
com.android.appsearch-  Поверхность API AppSearch (Java)
-  Расположение кода: 
frameworks/base/apex/appsearch/framework - Процесс: BOOT_CLASS_PATH
 
 -  Расположение кода: 
 -  AppSearchManagerService (Java)
-  Расположение кода: 
frameworks/base/apex/appsearch/service - Процесс: system_server
 
 -  Расположение кода: 
 -  Собственная библиотека Icing (C++)
-  Расположение кода: 
external/icing - Процесс: system_server
 
 -  Расположение кода: 
 
-  Поверхность API AppSearch (Java)
 Интерфейс/реализации HAL (C++)
- Н/Д
 
См. схему архитектуры модуля на рисунке 1.
Формат упаковки
 Основные функции этого модуля включены в пакет APEX com.android.appsearch .
Зависимости
- либику
 - libprotobuf-cpp-lite
 - ндк
 
Настройка
Этот модуль не подлежит настройке.