O AppSearch, um mecanismo de indexação e pesquisa estruturado no dispositivo, foi enviado como um 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.
Benefícios:
- Permitir a atualização da AppSearch pela Play Store
 - Garantir a conformidade com os requisitos do CDD do AppSearch
 
Detalhes
- Os dados coletados pelas APIs AppSearch permanecem no dispositivo do usuário, exceto os dados de métricas agregadas, que são usados para otimizar o 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 CJKT
 - 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 de serviço do sistema.
 
Figura 1. Arquitetura do módulo AppSearch
Limite do módulo
Apex principal do AppSearch:
com.android.appsearch- Superfície da 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 nativa do Icing (C++)
- Local do código: 
external/icing - Processo: system_server
 
 - Local do código: 
 
- Superfície da 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 principais funções desse módulo estão incluídas no pacote APEX
com.android.appsearch.
Dependências
- libicu
 - libprotobuf-cpp-lite
 - ndk
 
Personalização
Este módulo não é personalizável.