ExtServices

تُحدِّث وحدة ExtServices مكوِّنات إطار العمل لتتوافق مع وظائف نظام التشغيل الأساسية. مثل ترتيب الإشعارات واستراتيجيات مطابقة النص تلقائيًا وذاكرة التخزين المؤقت وحزمة مراقب النظام والخدمات الأخرى التي تعمل باستمرار. هذه الوحدة قابله للتحديث، ما يعني أنّه يمكنها تلقّي تحديثات للوظائف خارج دورة إصدار Android العادية.

مكوّنات الخدمة

تحتوي وحدة ExtServices على الخدمات التالية.

DisplayHashingService

في Android 12، يُستخدَم DisplayHashingService للأغراض التالية: إنشاء مثيل DisplayHash للمخزن المؤقت المحدد. يُستخدم أيضًا للتحقق من أن النظام قد تم إنشاء تجزئة عرض معينة. عند إنشاء تجزئة عرض، يمكن للمتصل تحديد خوارزميات التجزئة المتوافقة التي يريد استخدامها.

خدمة TextClassifierService

يتوافق TextClassifier واجهات برمجة التطبيقات ومكوّن الخدمة TextClassifierService مع ميزات Android، مثل التحديد الذكي للنص والاقتراحات الذكية في الإشعارات. تحتوي وحدة ExtServices على مصنِّف النص التلقائي، الذي يتم التحقق منه من خلال اختبار CTS TextClassifierPolicyTest.java

يمكنك ضبط خدمة تصنيف نص مخصّصة إذا لزم الأمر من خلال تحديد config_defaultTextClassifierPackage في config.xml. يمكن أن تعتمد مصنِّفات النص المخصّصة على مصنِّف النص التلقائي من خلال استدعاء TextClassifierService.getDefaultTextClassifierImplementation(Context) للحصول على مثيل منها.

خدمة الاقتراحات المضمّنة

يعمل مكوِّن خدمة InlineSuggestionRenderService على تفعيل الاقتراحات المضمّنة ليتم عرضه في شريط اقتراحات لوحة المفاتيح ويتم استدعاء هذه الخدمة لعرض عنصر View يحتوي على الاقتراح المضمّن لمسار "الملء التلقائي المضمّن" الجديد. التنفيذ التلقائي لاستدعاءات خدمة العرض هذه في androidx.autofill.inline.Renderer لعرض الاقتراح تم التحقق من هذا السلوك من خلال اختبارات CTS في /autofillservice/cts/inline/

اسم الحزمة

يجب ضبط إعدادات الأجهزة التي تعمل بنظام التشغيل Android 11 config_servicesExtensionPackage (بوصة frameworks/base/core/res/res/values/config.xml) إلى حزمة ExtServices اسم (com.android.ext.services). يتم التحقق من هذا التغيير في الإعدادات بواسطة اختبار CTS cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java

حدود الوحدة

في Android 12، تشمل خدمات ExtServices تم نقل رمز الوحدة من frameworks/base/apex/extservices. (هذا دليل فرعي من frameworks/base project) أو packages/modules/ExtServices

في ما يلي بنية المشروع الجديدة لـ packages/modules/ExtServices:

  • apex/ (ملفات من frameworks/base/apex/extservices)
  • java/ (ملفات من packages/modules/ExtServices/res، packages/modules/ExtServices/src، packages/modules/ExtServices/tests، والملفات لميزة جديدة)
  • jni/ (ملفات للميزة الجديدة)
  • native/ (ملفات للميزة الجديدة)

حدود وحدة ExtServices موجودة في packages/modules/ExtServices. ينقل Android 11 أيضًا العديد من فئات تنفيذ TextClassifier خارج frameworks/base/core/.

تنسيق الوحدة

في Android 11، تكون وحدة ExtServices (com.android.ext.services) بتنسيق APEX . وفي نظام التشغيل Android 10، تكون هذه الوحدة بتنسيق APK.

التخصيص

في Android 11، يمكنك ضبط خدمة مخصّصة لتصنيف النصوص تُطلِق تصنيف النصوص التلقائي (لا يُنصح بذلك). في Android 10، لا توفّر وحدة ExtServices خيارات التخصيص.

الاختبار

تتحقّق مجموعة أدوات اختبار التوافق مع Android (CTS) من وظائف ملف ExtServices.jar من خلال إجراء مجموعة شاملة من اختبارات CTS على كل إصدار من ملف ‎ExtServices.jar. بالإضافة إلى ذلك، تحتوي Mainline Test Suite (MTS) على العديد من اختبارات ExtServices. في ما يلي القائمة الكاملة لاختبارات ExtServices: