AppSearch

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.

AppSearch-Modularchitektur

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
    • AppSearchManagerService (Java)
      • Code-Speicherort: frameworks/base/apex/appsearch/service
      • Prozess: system_server
    • Icing Native Library (C++)
      • Speicherort des Codes: external/icing
      • Prozess: system_server
  • 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.