AppSearch, mesin telusur terstruktur dan pengindeksan di perangkat, dikirimkan sebagai APEX di Android 12. Di Android 13, AppSearch dikirimkan sebagai modul Mainline.
Motivasi
Untuk memastikan penerapan AppSearch yang konsisten di seluruh ekosistem Android dan mendukung kemampuan update.
Manfaat:
- Memungkinkan update AppSearch melalui Google Play Store
- Memastikan kepatuhan terhadap persyaratan CDD AppSearch
Detail
- Data yang dikumpulkan melalui AppSearch API tetap berada di perangkat pengguna (kecuali data metrik gabungan, yang digunakan untuk tujuan pengoptimalan performa).
- Implementasi penyimpanan yang cepat dan mengutamakan perangkat seluler dengan penggunaan I/O rendah
- Pengindeksan dan pembuatan kueri yang sangat efisien pada set data besar
- Dukungan multibahasa, seperti Inggris, Spanyol, dan CJKT
- Peringkat relevansi dan pemberian skor penggunaan
Arsitektur AppSearch
Gambar 1 menyoroti konsep AppSearch serta batas proses layanan sistem.
Gambar 1. Arsitektur modul AppSearch
Batas modul
AppSearch Mainline Apex -
com.android.appsearch- Permukaan AppSearch API (Java)
- Lokasi Kode:
frameworks/base/apex/appsearch/framework - Proses: BOOT_CLASS_PATH
- Lokasi Kode:
- AppSearchManagerService (Java)
- Lokasi Kode:
frameworks/base/apex/appsearch/service - Proses: system_server
- Lokasi Kode:
- Library Native Icing (C++)
- Lokasi Kode:
external/icing - Proses: system_server
- Lokasi Kode:
- Permukaan AppSearch API (Java)
Antarmuka/Implementasi HAL (C++)
- T/A
Lihat diagram arsitektur modul di Gambar 1.
Format paket
Fungsi utama modul ini disertakan dalam paket APEX com.android.appsearch.
Dependensi
- libicu
- libprotobuf-cpp-lite
- ndk
Penyesuaian
Modul ini tidak dapat disesuaikan.