تم طرح AppSearch، وهو محرّك بحث منظَّم وفهرس على الجهاز، كأحد تطبيقات APEX في Android 12. في نظام التشغيل Android 13، يتم شحن AppSearch كوحدة Mainline.
الحافز
لضمان تنفيذ AppSearch بشكلٍ متسق في منظومة Android المتكاملة وإتاحة إمكانية التحديث
المزايا:
- السماح بتحديث AppSearch عبر "متجر Play"
- التأكّد من الامتثال لمتطلّبات AppSearch CDD
التفاصيل
- تظل البيانات التي يتم جمعها من خلال واجهات برمجة تطبيقات AppSearch على جهاز المستخدم (باستثناء بيانات المقاييس المجمّعة التي يتم استخدامها لأغراض تحسين الأداء ).
- تنفيذ سريع لمساحة التخزين يمنح الأولوية للأجهزة الجوّالة مع استخدام منخفض لعملية الإدخال/الإخراج
- فهرسة وطلبات بحث عالية الكفاءة على مجموعات البيانات الكبيرة
- الدعم بلغات متعددة، مثل الإنجليزية والإسبانية وCJKT
- ترتيب مدى الصلة بالموضوع وتقييم الاستخدام
بنية AppSearch
يُبرز الشكل 1 مفاهيم AppSearch بالإضافة إلى حدود عملية خدمة النظام.
الشكل 1: بنية وحدة AppSearch
حدود الوحدة
AppSearch Mainline Apex -
com.android.appsearch
- واجهة برمجة التطبيقات AppSearch API (Java)
- الموقع الجغرافي للرمز:
frameworks/base/apex/appsearch/framework
- العملية: BOOT_CLASS_PATH
- الموقع الجغرافي للرمز:
- AppSearchManagerService (Java)
- الموقع الجغرافي للرمز:
frameworks/base/apex/appsearch/service
- العملية: system_server
- الموقع الجغرافي للرمز:
- مكتبة Icing Native (C++)
- الموقع الجغرافي للرمز:
external/icing
- العملية: system_server
- الموقع الجغرافي للرمز:
- واجهة برمجة التطبيقات AppSearch API (Java)
واجهة HAL أو عمليات التنفيذ (C++ )
- لا ينطبق
راجِع المخطّط البياني لبنية الوحدة في الشكل 1.
تنسيق الحزمة
يتم تضمين الوظائف الأساسية لهذه الوحدة في حزمة APEX
com.android.appsearch
.
التبعيات
- libicu
- libprotobuf-cpp-lite
- أمر ndk
التخصيص
لا يمكن تخصيص هذه الوحدة.