O AppSearch, um mecanismo de pesquisa estruturado e indexação no dispositivo, foi enviado como APEX no Android 12. No Android 13, o AppSearch é enviado como um módulo Mainline.
Motivação
Para garantir uma implementação consistente do AppSearch em todo o ecossistema Android e oferecer suporte à capacidade de atualização.
Vantagens:
- Permitir a atualização do AppSearch pela Play Store
- Garantir a conformidade com os requisitos de CDD do AppSearch
Detalhes
- Os dados coletados pelas APIs do AppSearch permanecem no dispositivo do usuário, exceto os dados de métricas agregadas, que são usados para fins de otimização de desempenho.
- Uma implementação de armazenamento rápida e mobile-first com baixo uso de E/S
- Indexação e consultas altamente eficientes em grandes conjuntos de dados
- Suporte a vários idiomas, como inglês, espanhol e chinês
- Classificação de relevância e pontuação de uso
Arquitetura do AppSearch
A Figura 1 destaca os conceitos do AppSearch e o limite do processo do serviço do sistema.
Figura 1. Arquitetura do módulo do AppSearch
Limite do módulo
Apex principal do AppSearch:
com.android.appsearch
- API AppSearch (Java)
- Local do código:
frameworks/base/apex/appsearch/framework
- Processo: BOOT_CLASS_PATH
- Local do código:
- AppSearchManagerService (Java)
- Local do código:
frameworks/base/apex/appsearch/service
- Processo: system_server
- Local do código:
- Biblioteca Native do Icing (C++)
- Local do código:
external/icing
- Processo: system_server
- Local do código:
- API AppSearch (Java)
Interface/implementações HAL (C++)
- N/A
Consulte o diagrama de arquitetura do módulo na Figura 1.
Formato do pacote
As funções principais deste módulo estão incluídas no pacote APEX
com.android.appsearch
.
Dependências
- libicu
- libprotobuf-cpp-lite
- ndk
Personalização
Esse módulo não é personalizável.