AppSearch, un motor de búsqueda estructurado y de indexación en el dispositivo, se envió como un APEX en Android 12. En Android 13, AppSearch se envía como un módulo de Mainline.
Motivación
Para garantizar una implementación coherente de AppSearch en todo el ecosistema de Android y admitir la capacidad de actualización.
Beneficios:
- Permite la actualización de AppSearch a través de Play Store
- Asegúrate de cumplir con los requisitos del CDD de AppSearch
Detalles
- Los datos recopilados a través de las APIs de AppSearch permanecen en el dispositivo del usuario (excepto los datos de métricas agregadas, que se usan con fines de optimización del rendimiento).
- Una implementación de almacenamiento rápida y centrada en los dispositivos móviles con bajo uso de E/S
- Indexación y consultas altamente eficientes en grandes conjuntos de datos
- Compatibilidad con diferentes idiomas, como inglés, español y CJKT
- Clasificación de relevancia y puntuación de uso
Arquitectura de AppSearch
En la Figura 1, se destacan los conceptos de AppSearch, así como el límite del proceso del servicio del sistema.
Figura 1: Arquitectura del módulo de AppSearch
Límite del módulo
AppSearch Mainline Apex:
com.android.appsearch
- Plataforma de la API de AppSearch (Java)
- Ubicación del código:
frameworks/base/apex/appsearch/framework
- Proceso: BOOT_CLASS_PATH
- Ubicación del código:
- AppSearchManagerService (Java)
- Ubicación del código:
frameworks/base/apex/appsearch/service
- Proceso: system_server
- Ubicación del código:
- Biblioteca nativa de Icing (C++)
- Ubicación del código:
external/icing
- Proceso: system_server
- Ubicación del código:
- Plataforma de la API de AppSearch (Java)
Interfaz/implementaciones de HAL (C++)
- N/A
Consulta el diagrama de arquitectura del módulo en la Figura 1.
Formato del paquete
Las funciones principales de este módulo se incluyen en el paquete de APEX com.android.appsearch
.
Dependencias
- libicu
- libprotobuf-cpp-lite
- ndk
Personalización
Este módulo no se puede personalizar.