AppSearch, встроенная в устройство система индексирования и структурированного поиска, была включена в состав Android 12 как модуль APEX. В Android 13 AppSearch поставляется как основной модуль (Mainline).
Мотивация
Для обеспечения единообразной реализации AppSearch во всей экосистеме Android и поддержки возможности обновления.
Преимущества:
- Разрешить обновление AppSearch через Play Store
- Обеспечьте соответствие требованиям AppSearch CDD.
Подробности
- Данные, собранные через API AppSearch, остаются на устройстве пользователя (за исключением агрегированных метрик, которые используются для оптимизации производительности).
- Быстрая реализация хранилища, ориентированная на мобильные устройства, с низким уровнем использования операций ввода-вывода.
- Высокоэффективное индексирование и выполнение запросов к большим наборам данных.
- Поддержка нескольких языков, включая английский, испанский и китайский (японский, японский, кенгуру и корейский).
- Ранжирование по релевантности и оценка использования
архитектура 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 - Процесс: системный_сервер
- Расположение кода:
- Библиотека Icing Native (C++)
- Местоположение кода:
external/icing - Процесс: системный_сервер
- Местоположение кода:
- API-интерфейс AppSearch (Java)
Интерфейс/реализация HAL (C++)
- Н/Д
Обратитесь к схеме архитектуры модуля на рисунке 1.
Формат упаковки
Основные функции этого модуля включены в пакет APEX com.android.appsearch .
Зависимости
- libicu
- libprotobuf-cpp-lite
- ндк
Настройка
Этот модуль не подлежит настройке.