El módulo ExtServices actualiza los componentes del marco para la funcionalidad básica del sistema operativo, como clasificación de notificaciones, estrategias de coincidencia de texto de autocompletar, caché de almacenamiento, vigilancia de paquetes y otros servicios que se ejecutan continuamente. Este módulo es actualizable, lo que significa que puede recibir actualizaciones de la funcionalidad fuera del ciclo normal de lanzamiento de Android.
Componentes de servicio
En Android 10, el módulo ExtServices contiene los siguientes servicios.
En Android 11, el módulo ExtServices presenta dos componentes de servicio: TextClassifierService
e InlineSuggestionsRenderService
.
TextClassifierService
El componente de servicio TextClassifierService
respalda TextClassifier
API de TextClassifier
y las funciones de Android, como la selección de texto inteligente y las sugerencias inteligentes en las notificaciones. El módulo ExtServices contiene el clasificador de texto predeterminado, que es verificado por la prueba CTS TextClassifierPolicyTest.java
.
Si es necesario, puede configurar un servicio de clasificador de texto personalizado especificando config_defaultTextClassifierPackage
en config.xml
. Los clasificadores de texto personalizados pueden depender del clasificador de texto predeterminado llamando a TextClassifierService.getDefaultTextClassifierImplementation(Context)
para obtener una instancia del mismo.
InlineSuggestionRenderService
El componente de servicio InlineSuggestionRenderService
permite que las sugerencias en línea se muestren en la tira de sugerencias del teclado. Este servicio se llama para representar un objeto de View
que contiene la sugerencia en línea para el nuevo flujo de Autocompletar en línea. La implementación predeterminada de este servicio de representación llama a androidx.autofill.inline.Renderer
para representar la sugerencia. Este comportamiento se verifica mediante pruebas CTS en /autofillservice/cts/inline/
.
Nombre del paquete
Los dispositivos que ejecutan Android 11 deben establecer config_servicesExtensionPackage
(en frameworks/base/core/res/res/values/config.xml
) en el nombre del paquete ExtServices ( com.android.ext.services
). Este cambio de configuración es verificado por la prueba CTS cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
.
Límite del módulo
El límite del módulo ExtServices está en packages/modules/ExtServices
. Android 11 también mueve varias clases de implementación TextClassifier
fuera de frameworks/base/core/
.
Formato del módulo
En Android 11, el módulo ExtServices ( com.android.ext.services
) está en formato APEX . En Android 10, este módulo está en formato APK.
Personalización
En Android 11, puede configurar un servicio de clasificador de texto personalizado que llame al clasificador de texto predeterminado (sin embargo, esto no se recomienda). En Android 10, el módulo ExtServices no proporciona opciones de personalización.
Pruebas
Android Compatibility Test Suite (CTS) verifica la funcionalidad del módulo ExtServices mediante la ejecución de un conjunto completo de pruebas CTS en cada versión del módulo. Además, Mainline Test Suite (MTS) también contiene varias pruebas ExtServices. La lista completa de pruebas de ExtServices es la siguiente:
Comportamiento general de ExtServices. Verificado por la prueba MTS
mts-extservices.xml
.Cambios de configuración. Verificado por la prueba CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
.Configuración de
TextClassifier
. Verificado por la prueba CTScts/TextClassifierPolicyTest.java
.Autocompletar sugerencia en línea. Verificado por pruebas CTS en
cts/inline/
.