מודול ExtServices מעדכן את רכיבי המסגרת עבור פונקציונליות ליבה של מערכת ההפעלה, כגון דירוג הודעות, אסטרטגיות התאמת טקסט למילוי אוטומטי, מטמון אחסון, כלב שמירה על חבילות ושירותים אחרים הפועלים ללא הרף. מודול זה ניתן לעדכון, כלומר הוא יכול לקבל עדכונים לפונקציונליות מחוץ למחזור השחרור הרגיל של אנדרואיד.
רכיבי שירות
מודול ExtServices מכיל את השירותים הבאים.
DisplayHashingService
מתחיל באנדרואיד 12TextClassifierService
מתחיל באנדרואיד 11InlineSuggestionsRenderService
החל באנדרואיד 11AutofillFieldClassificationService
החל באנדרואיד 10NotificationAssistantService
מתחיל באנדרואיד 10ResolverRankerService
מתחיל באנדרואיד 10CacheQuotaService
מתחיל באנדרואיד 10
DisplayHashingService
באנדרואיד 12, DisplayHashingService
משמש ליצירת מופע של DisplayHash
עבור המאגר שצוין. הוא משמש גם כדי לוודא ש-hash ספציפי לתצוגה נוצר על ידי המערכת. בעת יצירת Hash לתצוגה, המתקשר יכול לציין באילו מאלגוריתמי הגיבוב הנתמכים הוא רוצה להשתמש.
TextClassifierService
רכיב השירות TextClassifierService
מגבה ממשקי API TextClassifier
ותכונות אנדרואיד כגון בחירת טקסט חכמה והצעות חכמות בהתראות. מודול ExtServices מכיל את מסווג הטקסט המוגדר כברירת מחדל, אשר מאומת על ידי מבחן CTS TextClassifierPolicyTest.java
.
במידת הצורך, תוכל להגדיר שירות סיווג טקסט מותאם אישית על ידי ציון config_defaultTextClassifierPackage
ב- config.xml
. מסווגי טקסט מותאמים אישית יכולים להיות תלויים במסווג הטקסט המוגדר כברירת מחדל על ידי קריאה ל- TextClassifierService.getDefaultTextClassifierImplementation(Context)
כדי לקבל מופע שלו.
InlineSuggestionRenderService
רכיב השירות InlineSuggestionRenderService
מאפשר להציג הצעות מוטבעות ברצועת ההצעות של המקלדת. שירות זה נקרא לעיבוד אובייקט View
המחזיק את ההצעה המוטבעת עבור זרימת המילוי האוטומטי החדש בשורה. יישום ברירת המחדל עבור שירות renderer זה קורא ל- 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
.
גבול מודול
באנדרואיד 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
. אנדרואיד 11 גם מעביר כמה מחלקות יישום TextClassifier
אל מחוץ frameworks/base/core/
.
פורמט מודול
באנדרואיד 11, מודול ExtServices ( com.android.ext.services
) הוא בפורמט APEX . באנדרואיד 10, מודול זה הוא בפורמט APK.
התאמה אישית
באנדרואיד 11, אתה יכול להגדיר שירות סיווג טקסט מותאם אישית הקורא למסווג הטקסט המוגדר כברירת מחדל (עם זאת, זה לא מומלץ). באנדרואיד 10, מודול ExtServices אינו מספק אפשרויות התאמה אישית.
בדיקה
ה-Android Compatibility Test Suite (CTS) מאמת את הפונקציונליות של מודול ExtServices על ידי הפעלת מערך מקיף של בדיקות CTS בכל מהדורת מודול. בנוסף, Mainline Test Suite (MTS) מכילה גם כמה בדיקות ExtServices. הרשימה המלאה של בדיקות ExtServices היא כדלקמן:
שינויים בתצורה. מאומת על ידי בדיקת CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
.תצורת
TextClassifier
. מאומת על ידי CTS testcts/TextClassifierPolicyTest.java
.הצעה מוטבעת למילוי אוטומטי. מאומת על ידי בדיקות CTS ב-
cts/inline/
.