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.
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
- Emplacement du code :
- AppSearchManagerService (Java)
- Emplacement du code :
frameworks/base/apex/appsearch/service
- Processus : system_server
- Emplacement du code :
- Bibliothèque native Icing (C++)
- Emplacement du code :
external/icing
- Processus : system_server
- Emplacement du code :
- Surface de l'API AppSearch (Java)
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.