AppSearch, czyli silnik indeksowania i wyszukiwania strukturalnego na urządzeniu, został dostarczony jako APEX w Androidzie 12. W Androidzie 13 AppSearch jest dostarczany jako moduł Mainline.
Motywacja
Aby zapewnić spójne wdrożenie AppSearch w ekosystemie Androida i umożliwić aktualizacje.
Zalety:
- Zezwalanie na aktualizowanie AppSearch w Sklepie Play
 - Zapewnianie zgodności z wymaganiami CDD dotyczącymi wyszukiwarki
 
Szczegóły
- Dane zbierane za pomocą interfejsów AppSearch API pozostają na urządzeniu użytkownika (z wyjątkiem zagregowanych danych o skuteczności, które są używane do optymalizacji wydajności).
 - Szybka implementacja pamięci masowej zoptymalizowana pod kątem urządzeń mobilnych i o niskim wykorzystaniu operacji wejścia-wyjścia
 - Wysoce wydajne indeksowanie i wykonywanie zapytań dotyczących dużych zbiorów danych
 - obsługa wielu języków, np. angielskiego, hiszpańskiego i chińskiego, japońskiego, koreańskiego i tajskiego;
 - Ranking trafności i ocena wykorzystania
 
Architektura wyszukiwania w aplikacjach
Rysunek 1 przedstawia koncepcje AppSearch oraz granicę procesu usługi systemowej.
 
Rysunek 1. Architektura modułu AppSearch
Granica modułu
AppSearch Mainline Apex -
com.android.appsearch- AppSearch API surface (Java)
- Lokalizacja kodu: 
frameworks/base/apex/appsearch/framework - Proces: BOOT_CLASS_PATH
 
 - Lokalizacja kodu: 
 - AppSearchManagerService (Java)
- Lokalizacja kodu: 
frameworks/base/apex/appsearch/service - Proces: system_server
 
 - Lokalizacja kodu: 
 - Biblioteka Icing Native (C++)
- Lokalizacja kodu: 
external/icing - Proces: system_server
 
 - Lokalizacja kodu: 
 
- AppSearch API surface (Java)
 Interfejsy/implementacje HAL (C++)
- Nie dotyczy
 
Zapoznaj się z diagramem architektury modułu na rysunku 1.
Format pakietu
Główne funkcje tego modułu są zawarte w pakiecie APEX
com.android.appsearch.
Zależności
- libicu
 - libprotobuf-cpp-lite
 - ndk
 
Dostosowywanie
Tego modułu nie można dostosować.