Das ExtServices-Modul aktualisiert Framework-Komponenten für Kernfunktionen des Betriebssystems, wie z. B. Benachrichtigungsranking, Strategien zum automatischen Ausfüllen von Texten, Speichercache, Paketüberwachung und andere Dienste, die kontinuierlich ausgeführt werden. Dieses Modul ist aktualisierbar, was bedeutet, dass es außerhalb des normalen Android-Release-Zyklus Funktionsaktualisierungen erhalten kann.
Servicekomponenten
Das ExtServices-Modul enthält die folgenden Dienste.
DisplayHashingService
ab Android 12TextClassifierService
ab Android 11InlineSuggestionsRenderService
ab Android 11AutofillFieldClassificationService
ab Android 10NotificationAssistantService
ab Android 10ResolverRankerService
ab Android 10CacheQuotaService
ab Android 10
DisplayHashingService
In Android 12 wird DisplayHashingService
verwendet, um eine Instanz von DisplayHash
für den angegebenen Puffer zu generieren. Es wird auch verwendet, um zu überprüfen, ob ein bestimmter Anzeige-Hash vom System generiert wurde. Beim Generieren eines Display-Hashs kann der Aufrufer angeben, welchen der unterstützten Hashing-Algorithmen er verwenden möchte.
TextClassifierService
Die TextClassifierService
Dienstkomponente unterstützt TextClassifier
APIs und Android-Funktionen wie intelligente Textauswahl und intelligente Vorschläge in Benachrichtigungen. Das ExtServices-Modul enthält den Standardtextklassifizierer, der durch den CTS-Test TextClassifierPolicyTest.java
überprüft wird.
Bei Bedarf können Sie einen benutzerdefinierten Textklassifizierungsdienst konfigurieren, indem Sie config_defaultTextClassifierPackage
in config.xml
angeben. Benutzerdefinierte Textklassifizierer können vom Standardtextklassifizierer abhängen, indem sie TextClassifierService.getDefaultTextClassifierImplementation(Context)
aufrufen, um eine Instanz davon abzurufen.
InlineSuggestionRenderService
Die Dienstkomponente InlineSuggestionRenderService
ermöglicht die Anzeige von Inline-Vorschlägen in der Tastaturvorschlagsleiste. Dieser Dienst wird aufgerufen, um ein View
Objekt zu rendern, das den Inline-Vorschlag für den neuen Inline-Autofill-Fluss enthält. Die Standardimplementierung für diesen Renderer-Dienst ruft androidx.autofill.inline.Renderer
auf, um den Vorschlag zu rendern. Dieses Verhalten wird durch CTS-Tests in /autofillservice/cts/inline/
überprüft.
Paketnamen
Geräte mit Android 11 müssen config_servicesExtensionPackage
(in frameworks/base/core/res/res/values/config.xml
) auf den ExtServices-Paketnamen ( com.android.ext.services
) setzen. Diese Konfigurationsänderung wird durch den CTS-Test cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
überprüft.
Modulgrenze
In Android 12 wird der ExtServices-Modulcode aus frameworks/base/apex/extservices
(dies ist ein Unterverzeichnis von frameworks/base project
“) und packages/modules/ExtServices
verschoben.
Die neue Projektstruktur für packages/modules/ExtServices
sieht wie folgt aus:
-
apex/
(Dateien ausframeworks/base/apex/extservices
“) -
java/
(Dateien auspackages/modules/ExtServices/res
,packages/modules/ExtServices/src
,packages/modules/ExtServices/tests
und Dateien für neue Funktion) -
jni/
(Dateien für neue Funktion) -
native/
(Dateien für neue Funktion)
Die ExtServices-Modulgrenze liegt in packages/modules/ExtServices
. Android 11 verschiebt außerdem mehrere TextClassifier
Implementierungsklassen aus frameworks/base/core/
.
Modulformat
In Android 11 liegt das ExtServices-Modul ( com.android.ext.services
) im APEX- Format vor. In Android 10 liegt dieses Modul im APK-Format vor.
Anpassen
In Android 11 können Sie einen benutzerdefinierten Textklassifizierungsdienst konfigurieren, der den Standard-Textklassifizierungsdienst aufruft (dies wird jedoch nicht empfohlen). In Android 10 bietet das ExtServices-Modul keine Anpassungsoptionen.
Testen
Die Android Compatibility Test Suite (CTS) überprüft die Funktionalität des ExtServices-Moduls, indem sie bei jeder Modulversion eine umfassende Reihe von CTS-Tests durchführt. Darüber hinaus enthält die Mainline Test Suite (MTS) auch mehrere ExtServices-Tests. Die vollständige Liste der ExtServices-Tests lautet wie folgt:
Konfigurationsänderungen. Verifiziert durch den CTS-Test
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
.TextClassifier
Konfiguration. Verifiziert durch CTS-Testcts/TextClassifierPolicyTest.java
.Inline-Vorschlag zum automatischen Ausfüllen. Verifiziert durch CTS-Tests in
cts/inline/
.