ExtServices

El módulo ExtServices actualiza los componentes del marco para la funcionalidad central 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 funcionalidad fuera del ciclo de lanzamiento normal de Android.

Componentes de servicio

El módulo ExtServices contiene los siguientes servicios.

DisplayHashingService

En Android 12, DisplayHashingService se usa para generar una instancia de DisplayHash para el búfer especificado. También se usa para verificar que el sistema generó un hash de visualización específico. Al generar un hash de visualización, la persona que llama puede especificar cuál de los algoritmos hash admitidos desea utilizar.

TextClassifierServiceTextClassifierService

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 se verifica mediante 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.

Servicio de procesamiento de sugerencia en línea

El componente de servicio InlineSuggestionRenderService permite que las sugerencias en línea se muestren en la franja de sugerencias del teclado. Se llama a este servicio para representar un objeto 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 configurar config_servicesExtensionPackage (en frameworks/base/core/res/res/values/config.xml ) al nombre del paquete de ExtServices ( com.android.ext.services ). Este cambio de configuración se verifica mediante la prueba CTS cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java .

Límite del módulo

En Android 12, el código del módulo ExtServices se mueve de frameworks/base/apex/extservices (este es un subdirectorio de frameworks/base project ) y packages/modules/ExtServices .

La nueva estructura del proyecto para packages/modules/ExtServices es la siguiente:

  • apex/ (archivos de frameworks/base/apex/extservices )
  • java/ (archivos de packages/modules/ExtServices/res , packages/modules/ExtServices/src , packages/modules/ExtServices/tests y archivos para nuevas características)
  • jni/ (archivos para nueva característica)
  • native/ (archivos para nuevas funciones)

El límite del módulo ExtServices está en packages/modules/ExtServices . Android 11 también mueve varias clases de implementación de 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 ofrece 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 de ExtServices. La lista completa de pruebas de ExtServices es la siguiente: