Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release
, bukan aosp-main
, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
AppSearch
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
AppSearch, mesin telusur terstruktur dan pengindeksan di perangkat, dikirim sebagai
APEX di Android 12. Di Android
13, AppSearch dikirim 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 AppSearch API tetap berada di perangkat pengguna
(kecuali data metrik gabungan, yang digunakan untuk tujuan optimasi
performa).
- Implementasi penyimpanan yang cepat dan mengutamakan perangkat seluler dengan penggunaan I/O yang rendah
- Pengindeksan dan pembuatan kueri yang sangat efisien pada set data besar
- Dukungan multibahasa, seperti bahasa Inggris, Spanyol, dan CJKT
- Peringkat relevansi dan penskoran penggunaan
Arsitektur AppSearch
Gambar 1 menyoroti konsep AppSearch serta batas proses
layanan sistem.
Gambar 1. Arsitektur modul AppSearch
Batas modul
Lihat diagram arsitektur modul pada Gambar 1.
Fungsi utama modul ini disertakan dalam paket APEX
com.android.appsearch
.
Dependensi
- libicu
- libprotobuf-cpp-lite
- ndk
Penyesuaian
Modul ini tidak dapat disesuaikan.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# AppSearch, an on-device indexing and structured search engine, was shipped as\nan APEX in Android 12. In Android\n13, AppSearch is shipped as a Mainline module.\n\nMotivation\n----------\n\nTo ensure a consistent implementation of AppSearch across the Android ecosystem\nand support updateability.\n\nBenefits:\n\n- Allow updating AppSearch via Play Store\n- Ensure compliance with the AppSearch CDD requirements\n\nDetails\n-------\n\n- Data collected through AppSearch APIs remains on the user's device (except aggregated metrics data, which is used for performance optimization purposes).\n- A fast, mobile-first storage implementation with low I/O use\n- Highly efficient indexing and querying over large data sets\n- Multi-language support, such as English, Spanish and CJKT\n- Relevance ranking and usage scoring\n\nAppSearch architecture\n----------------------\n\nFigure 1 highlights AppSearch concepts as well as the system service\nprocess boundary.\n\n**Figure 1.** AppSearch module architecture\n\nModule boundary\n---------------\n\n- AppSearch Mainline Apex - `com.android.appsearch`\n\n - AppSearch API surface (Java)\n - Code Location: `frameworks/base/apex/appsearch/framework`\n - Process: \u003cvar translate=\"no\"\u003eBOOT_CLASS_PATH\u003c/var\u003e\n - AppSearchManagerService (Java)\n - Code Location: `frameworks/base/apex/appsearch/service`\n - Process: system_server\n - Icing Native library (C++)\n - Code Location: `external/icing`\n - Process: system_server\n- HAL Interface/Implementations (C++)\n\n - N/A\n\nRefer to the module architecture diagram in Figure 1.\n\nPackage format\n--------------\n\nThe main functions of this module are included in the APEX package\n`com.android.appsearch`.\n\nDependencies\n------------\n\n- libicu\n- libprotobuf-cpp-lite\n- ndk\n\nCustomization\n-------------\n\nThis module is not customizable."]]