Moduł ExtServices aktualizuje komponenty frameworku dla podstawowych funkcji systemu operacyjnego, takich jak ranking powiadomień, strategie autouzupełniania tekstu, pamięć podręczna, moduł monitorowania pakietów i inne usługi, które działają nieprzerwanie. Ten moduł można aktualizować, co oznacza, że można aktualizować jego funkcje poza normalnym cyklem publikacji Androida.
Komponenty usługi
Moduł ExtServices zawiera te usługi:
DisplayHashingService
od Androida 12TextClassifierService
od Androida 11InlineSuggestionsRenderService
w Androidzie 11AutofillFieldClassificationService
w Androidzie 10NotificationAssistantService
od Androida 10ResolverRankerService
w Androidzie 10CacheQuotaService
od Androida 10
DisplayHashingService
W Androidzie 12 funkcja DisplayHashingService
służy do generowania instancji DisplayHash
dla określonego bufora. Jest on również używany do sprawdzania, czy wyświetlany przez system kod kreskowy został wygenerowany przez system. Podczas generowania wyświetlanego hasza wywołujący może określić, którego z obsługiwanych algorytmów haszowania chce użyć.
Usługa TextClassifier
TextClassifierService
komponent usługi obsługuje interfejsy API TextClassifier
oraz funkcje Androida, takie jak inteligentny wybór tekstu i inteligentne sugestie w powiadomieniach. Moduł ExtServices zawiera domyślny klasyfikator tekstu weryfikowany przez test CTS TextClassifierPolicyTest.java
.
W razie potrzeby możesz skonfigurować niestandardową usługę klasyfikatora tekstu, podając wartość config_defaultTextClassifierPackage
w config.xml
.
Klasyfikatory tekstu niestandardowego mogą zależeć od domyślnego klasyfikatora tekstu, wywołując funkcję TextClassifierService.getDefaultTextClassifierImplementation(Context)
, aby uzyskać jej instancję.
InlineSuggestionRenderService
Komponent usługi InlineSuggestionRenderService
umożliwia wyświetlanie wbudowanych sugestii na pasku podpowiedzi klawiatury. Ta usługa jest wywoływana w celu renderowania obiektu View
zawierającego wbudowaną sugestię na potrzeby nowego procesu autouzupełniania.
Domyślna implementacja tej usługi renderowania wywołuje funkcję androidx.autofill.inline.Renderer
, aby renderować sugestię. Takie zachowanie jest weryfikowane w ramach testów CTS w narzędziu /autofillservice/cts/inline/
.
Nazwa pakietu
Urządzenia z Androidem 11 muszą mieć ustawioną wartość parametru config_servicesExtensionPackage
(w pliku frameworks/base/core/res/res/values/config.xml
) na nazwę pakietu ExtServices (com.android.ext.services
). Ta zmiana konfiguracji jest weryfikowana przez test CTS cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
.
Granica modułu
W Androidzie 12 kod modułu ExtServices został przeniesiony z katalogu frameworks/base/apex/extservices
(który jest podkatalogiem katalogu frameworks/base project
) do katalogu packages/modules/ExtServices
.
Nowa struktura projektu packages/modules/ExtServices
:
apex/
(pliki zframeworks/base/apex/extservices
)java/
(pliki z wersjipackages/modules/ExtServices/res
,packages/modules/ExtServices/src
,packages/modules/ExtServices/tests
oraz pliki dla nowej funkcji)jni/
(pliki związane z nową funkcją)native/
(pliki dla nowej funkcji)
Granica modułu ExtServices znajduje się w packages/modules/ExtServices
. Android 11 przenosi też kilka klas implementacji TextClassifier
z frameworks/base/core/
.
Format modułu
W Androidzie 11 moduł ExtServices (com.android.ext.services
) jest w formacie APEX. W Androidzie 10 ten moduł jest w formacie APK.
Dostosowywanie
W Androidzie 11 możesz skonfigurować niestandardową usługę klasyfikacji tekstu, która wywołuje domyślną usługę klasyfikacji tekstu (nie jest to jednak zalecane). W Androidzie 10 moduł ExtServices nie udostępnia opcji dostosowywania.
Testowanie
Pakiet testów zgodności Androida (CTS) sprawdza funkcjonalność modułu ExtServices, wykonując kompleksowy zestaw testów CTS dla każdej wersji modułu. Oprócz tego pakiet Mainline Test Suite (MTS) zawiera też kilka testów ExtServices. Pełna lista testów ExtServices:
Zmiany w konfiguracji. Weryfikowane przez test CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
.TextClassifier
konfiguracji. Zweryfikowane przez test CTScts/TextClassifierPolicyTest.java
.Autouzupełnianie sugestii w tekście. Zweryfikowane przez testy CTS w
cts/inline/
.