AppSearch

AppSearch, un moteur de recherche structuré et d'indexation sur l'appareil, a été fourni en tant qu'APEX dans Android 12. Dans Android 13, AppSearch est fourni en tant que module Mainline.

Motivation

Pour garantir une implémentation cohérente d'AppSearch dans l'écosystème Android et permettre la mise à jour.

Avantages :

  • Autoriser la mise à jour d'AppSearch via le Play Store
  • Assurez-vous de respecter les exigences du CDD pour AppSearch.

Détails

  • Les données collectées via les API AppSearch restent sur l'appareil de l'utilisateur (à l'exception des données agrégées sur les métriques, qui sont utilisées pour optimiser les performances).
  • Implémentation de stockage rapide et axée sur le mobile avec une faible utilisation des E/S
  • Indexation et interrogation très efficaces sur de grands ensembles de données
  • Prise en charge de plusieurs langues, comme l'anglais, l'espagnol et le CJKT
  • Classement par pertinence et score d'utilisation

Architecture AppSearch

La figure 1 met en évidence les concepts d'AppSearch ainsi que la limite du processus de service système.

Architecture du module AppSearch

Figure 1 : Architecture du module AppSearch

Limite du module

  • Apex Mainline AppSearch : com.android.appsearch

    • Surface de l'API AppSearch (Java)
      • Emplacement du code : frameworks/base/apex/appsearch/framework
      • Processus : BOOT_CLASS_PATH
    • AppSearchManagerService (Java)
      • Emplacement du code : frameworks/base/apex/appsearch/service
      • Processus : system_server
    • Bibliothèque native Icing (C++)
      • Emplacement du code : external/icing
      • Processus : system_server
  • Interface/implémentations HAL (C++)

    • N/A

Reportez-vous au schéma de l'architecture du module de la figure 1.

Format du package

Les principales fonctions de ce module sont incluses dans le package APEX com.android.appsearch.

Dépendances

  • libicu
  • libprotobuf-cpp-lite
  • ndk

Personnalisation

Ce module n'est pas personnalisable.