מודול ExtServices מעדכן את רכיבי ה-framework כדי לשפר את הפונקציונליות של מערכת ההפעלה. כמו דירוג התראות, מילוי אוטומטי של אסטרטגיות התאמת טקסט, מטמון אחסון, חבילות מפקח (watchdog) ושירותים אחרים שפועלים באופן רציף. המודול הזה שניתן לעדכן, כלומר הוא יכול לקבל עדכונים לגבי פונקציונליות שלא מחזור הגרסאות של Android.
חלקי השירות
המודול ExtServices מכיל את השירותים הבאים.
DisplayHashingService
החל מ-Android 12TextClassifierService
החל מ-Android 11InlineSuggestionsRenderService
החל בעוד 11 AndroidAutofillFieldClassificationService
החל מ- 10 AndroidNotificationAssistantService
החל מ- 10 AndroidResolverRankerService
החל מ- 10 AndroidCacheQuotaService
החל מ-Android 10
שירות DisplayHashingService
ב-Android 12, האפליקציה DisplayHashingService
משמשת כדי:
יוצרים מופע של DisplayHash
למאגר הנתונים הזמני. הוא גם משומש
כדי לאמת שגיבוב ספציפי של תצוגה נוצר על ידי המערכת. מתי
שנוצרת גיבוב (hash) של תצוגה, מבצע הקריאה החוזרת יכול לציין אילו
שבהם הוא רוצה להשתמש.
שירות TextClassifierService
TextClassifierService
גיבויים של רכיבי שירות TextClassifier
ממשקי API
ותכונות של Android כמו בחירת טקסט חכמה והצעות חכמות
התראות. המודול ExtServices מכיל את מסווג הטקסט שמוגדר כברירת מחדל,
שאומת באמצעות בדיקת ה-CTS
TextClassifierPolicyTest.java
במקרה הצורך, אפשר להגדיר שירות מותאם אישית לסיווג טקסט על ידי ציון
config_defaultTextClassifierPackage
אינץ'
config.xml
.
מסווגי טקסט בהתאמה אישית יכולים להיות תלויים במסווג הטקסט שמוגדר כברירת מחדל על ידי קריאה
TextClassifierService.getDefaultTextClassifierImplementation(Context)
כדי לקבל מופע כזה.
שירות InlinesuggestedionRenderService
רכיב השירות 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 על ידי הרצת סדרה מקיפה של בדיקות CTS בכל מודול. גרסה חדשה. בנוסף, חבילת הבדיקה Mainline Test Suite (MTS) כוללת גם בדיקות ExtServices. הרשימה המלאה של בדיקות ExtServices:
שינויים בהגדרות. אומת על ידי בדיקת CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
הגדרה של
TextClassifier
. אומת על ידי בדיקת CTScts/TextClassifierPolicyTest.java
מילוי אוטומטי של הצעה מוטבעת. אומת על ידי בדיקות CTS ב:
cts/inline/