AppSearch, un motore di ricerca strutturato e di indicizzazione sul dispositivo, è stato fornito come APEX in Android 12. In Android 13, AppSearch viene fornito come modulo Mainline.
Motivazione
Per garantire un'implementazione coerente di AppSearch nell'ecosistema Android e supportare l'aggiornabilità.
Vantaggi:
- Consenti l'aggiornamento di AppSearch tramite il Play Store
- Garantire la conformità ai requisiti CDD di AppSearch
Dettagli
- I dati raccolti tramite le API AppSearch rimangono sul dispositivo dell'utente (ad eccezione dei dati delle metriche aggregate, che vengono utilizzati per l'ottimizzazione delle prestazioni).
- Un'implementazione di archiviazione rapida e mobile-first con un basso utilizzo di I/O
- Indicizzazione ed esecuzione di query altamente efficienti su grandi set di dati
- Supporto multilingue, ad esempio inglese, spagnolo e CJKT
- Classifica per pertinenza e punteggio di utilizzo
Architettura di AppSearch
La Figura 1 evidenzia i concetti di AppSearch e il limite del processo del servizio di sistema.
Figura 1. Architettura del modulo AppSearch
Confine del modulo
Apex Mainline AppSearch -
com.android.appsearch
- Superficie API AppSearch (Java)
- Posizione del codice:
frameworks/base/apex/appsearch/framework
- Procedura: BOOT_CLASS_PATH
- Posizione del codice:
- AppSearchManagerService (Java)
- Posizione del codice:
frameworks/base/apex/appsearch/service
- Processo: system_server
- Posizione del codice:
- Libreria Icing Native (C++)
- Posizione del codice:
external/icing
- Processo: system_server
- Posizione del codice:
- Superficie API AppSearch (Java)
Interfaccia/implementazioni HAL (C++)
- N/D
Fai riferimento al diagramma dell'architettura del modulo nella Figura 1.
Formato del pacchetto
Le funzioni principali di questo modulo sono incluse nel pacchetto APEX
com.android.appsearch
.
Dipendenze
- libicu
- libprotobuf-cpp-lite
- ndk
Personalizzazione
Questo modulo non è personalizzabile.