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:
- Mengizinkan update AppSearch melalui Play Store
- Memastikan kepatuhan terhadap persyaratan CDD AppSearch
Detail
- Data yang dikumpulkan melalui API AppSearch tetap berada di perangkat pengguna (kecuali data metrik gabungan, yang digunakan untuk tujuan pengoptimalan performa).
- Implementasi penyimpanan yang cepat dan mengutamakan seluler dengan penggunaan I/O yang rendah
- Pengindeksan dan 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
Apex Mainline AppSearch -
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:
- Pustaka Icing Native (C++)
- Lokasi Kode:
external/icing
- Proses: system_server
- Lokasi Kode:
- Permukaan AppSearch API (Java)
Antarmuka/Implementasi HAL (C++)
- T/A
Lihat diagram arsitektur modul pada 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.