AppSearch, eine On-Device-Indexierung und strukturierte Suchmaschine, wurde in Android 12 als APEX eingeführt. In Android 13 wird AppSearch als Mainline-Modul ausgeliefert.
Ziel
So soll eine einheitliche Implementierung von AppSearch im gesamten Android-System sichergestellt und die Aktualisierbarkeit unterstützt werden.
Vorteile:
- Aktualisierung von AppSearch über den Play Store zulassen
- Einhaltung der Anforderungen an die AppSearch-Datenleihe
Details
- Daten, die über AppSearch APIs erhoben werden, verbleiben auf dem Gerät des Nutzers, mit Ausnahme von aggregierten Messwertdaten, die zur Leistungsoptimierung verwendet werden.
- Eine schnelle, mobile-first-Speicherimplementierung mit geringer I/O-Nutzung
- Hocheffiziente Indexierung und Abfrage großer Datenmengen
- Mehrsprachige Unterstützung, z. B. Englisch, Spanisch und Kantonesisch
- Relevanzranking und Nutzungsbewertung
AppSearch-Architektur
Abbildung 1 zeigt die AppSearch-Konzepte sowie die Prozessgrenze des Systemdienstes.
Abbildung 1. AppSearch-Modularchitektur
Modulgrenze
AppSearch Mainline Apex –
com.android.appsearch
- Oberfläche der AppSearch API (Java)
- Code-Speicherort:
frameworks/base/apex/appsearch/framework
- Prozess: BOOT_CLASS_PATH
- Code-Speicherort:
- AppSearchManagerService (Java)
- Code-Speicherort:
frameworks/base/apex/appsearch/service
- Prozess: system_server
- Code-Speicherort:
- Icing Native Library (C++)
- Speicherort des Codes:
external/icing
- Prozess: system_server
- Speicherort des Codes:
- Oberfläche der AppSearch API (Java)
HAL-Schnittstelle/-Implementierungen (C++)
- –
Sehen Sie sich das Diagramm der Modularchitektur in Abbildung 1 an.
Paketformat
Die Hauptfunktionen dieses Moduls sind im APEX-Paket com.android.appsearch
enthalten.
Abhängigkeiten
- libicu
- libprotobuf-cpp-lite
- ndk
Personalisierung
Dieses Modul kann nicht angepasst werden.