AppSearch

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.

Arquitetura do módulo do AppSearch

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
    • AppSearchManagerService (Java)
      • Local do código: frameworks/base/apex/appsearch/service
      • Processo: system_server
    • Biblioteca Native do Icing (C++)
      • Local do código: external/icing
      • Processo: system_server
  • 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.