AppSearch

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.

Arquitetura do módulo AppSearch

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