AppSearch, un moteur d'indexation et de recherche structurée sur l'appareil, a été livré en tant qu'APEX dans Android 12. Dans Android 13, AppSearch est livré en tant que module Mainline.
Motivation
Pour assurer une mise en œuvre cohérente d'AppSearch dans l'écosystème Android et prendre en charge la possibilité de mise à jour.
Avantages:
- Autoriser la mise à jour d'AppSearch via Play Store
- Assurer la conformité avec les exigences AppSearch CDD
Détails
- Les données collectées via les API AppSearch restent sur l'appareil de l'utilisateur (à l'exception des données de métriques agrégées, qui sont utilisées à des fins d'optimisation des performances).
- Une implémentation de stockage rapide et mobile avec une faible utilisation des E/S
- Indexation et interrogation très efficaces sur de grands ensembles de données
- Prise en charge multilingue, telle que l'anglais, l'espagnol et le CJKT
- Classement de pertinence et score d'utilisation
Architecture AppSearch
La figure 1 met en évidence les concepts AppSearch ainsi que la limite du processus de service système.
Figure 1. Architecture du module AppSearch
Limite du module
AppSearch Mainline Apex -
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 de givrage (C++)
- Emplacement du code :
external/icing
- Processus : system_server
- Emplacement du code :
- Surface de l'API AppSearch (Java)
Interface HAL/Implémentations (C++)
- N / A
Reportez-vous au schéma d'architecture du module de la figure 1.
Format de paquet
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.