El módulo ExtServices actualiza los componentes del framework para la funcionalidad principal del SO, como la clasificación de las notificaciones, las estrategias de coincidencia de texto de Autocompletar, perro guardián de paquetes y otros servicios que se ejecutan continuamente. En este módulo, actualizable, lo que significa que puede recibir actualizaciones de funciones fuera de lo normal Ciclo de actualización de Android
Componentes del servicio
El módulo ExtServices contiene los siguientes servicios.
DisplayHashingService
a partir de Android 12TextClassifierService
a partir de Android 11InlineSuggestionsRenderService
comenzará en Android 11AutofillFieldClassificationService
a partir de Android 10NotificationAssistantService
a partir de Android 10ResolverRankerService
a partir de Android 10CacheQuotaService
a partir de Android 10
Servicio de hash de display
En Android 12, DisplayHashingService
se usa para lo siguiente:
Genera 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. Cuándo
generar un hash de visualización, el llamador puede especificar cuál de los
hashing que quiera usar.
Servicio de clasificación de texto
El
TextClassifierService
versiones anteriores de componentes de servicio TextClassifier
APIs
y Android, como la selección de texto y las sugerencias inteligentes
notificaciones. El módulo ExtServices contiene el clasificador de texto predeterminado,
verificado por la prueba del CTS
TextClassifierPolicyTest.java
Si es necesario, puedes configurar un servicio de clasificación de texto personalizado especificando
config_defaultTextClassifierPackage
in
config.xml
Los clasificadores de texto personalizados pueden depender del clasificador de texto predeterminado llamando
TextClassifierService.getDefaultTextClassifierImplementation(Context)
para obtener una instancia del mismo.
InlineSuggestedRenderService
El componente de servicio InlineSuggestionRenderService
habilita las sugerencias intercaladas.
para que se muestre en la barra de sugerencias del teclado. Se llama a este servicio para procesar
Un objeto View
que contiene la sugerencia intercalada para el nuevo flujo de esa función.
La implementación predeterminada para este procesador llama a
androidx.autofill.inline.Renderer
para renderizar la sugerencia. Las pruebas del CTS verifican este comportamiento en
/autofillservice/cts/inline/
Nombre de paquete
Se deben configurar los dispositivos que ejecutan Android 11
config_servicesExtensionPackage
(en
frameworks/base/core/res/res/values/config.xml
) al paquete ExtServices
nombre (com.android.ext.services
). Este cambio en la configuración se verifica con el
Prueba del CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
Límite del módulo
En Android 12, se pueden usar
el código del módulo se transfirió de frameworks/base/apex/extservices
(este es un subdirectorio de frameworks/base project
)
y
packages/modules/ExtServices
La nueva estructura de proyecto para packages/modules/ExtServices
es la siguiente:
apex/
(archivos deframeworks/base/apex/extservices
)java/
(archivos depackages/modules/ExtServices/res
,packages/modules/ExtServices/src
,packages/modules/ExtServices/tests
y archivos de la nueva función).jni/
(archivos para una nueva función)native/
(archivos para una nueva función)
El límite del módulo ExtServices se encuentra en packages/modules/ExtServices
. En Android
11 también traslada varias implementaciones de TextClassifier
de frameworks/base/core/
de clases.
Formato del módulo
En Android 11, el módulo ExtServices
(com.android.ext.services
) está en APEX
de un conjunto de datos
tengan un formato común. En Android 10, este módulo está en formato APK.
Personalización
En Android 11, puedes configurar un texto personalizado de clasificación que llama al texto predeterminado clasificador (sin embargo, esto no se recomienda). En Android 10, el módulo ExtServices no proporciona opciones de personalización.
Prueba
El Conjunto de pruebas de compatibilidad (CTS) de Android verifica el módulo ExtServices mediante la ejecución de un conjunto integral de pruebas de CTS en cada módulo lanzamiento. Además, el conjunto de pruebas principal (MTS) también contiene varias ExtServices. La lista completa de pruebas de ExtServices es la siguiente:
Cambios en la configuración. Verificado por la prueba del CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
Configuración de
TextClassifier
. Verificada por la prueba del CTScts/TextClassifierPolicyTest.java
Autocompletar sugerencia intercalada Verificado por pruebas del CTS en
cts/inline/