ExtServices

מודול ExtServices מעדכן את רכיבי המסגרת עבור פונקציונליות ליבה של מערכת ההפעלה, כגון דירוג הודעות, אסטרטגיות התאמת טקסט למילוי אוטומטי, מטמון אחסון, כלב שמירה על חבילות ושירותים אחרים הפועלים ללא הרף. מודול זה ניתן לעדכון, כלומר הוא יכול לקבל עדכונים לפונקציונליות מחוץ למחזור השחרור הרגיל של אנדרואיד.

רכיבי שירות

מודול ExtServices מכיל את השירותים הבאים.

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 היא כדלקמן: