Il modulo ExtServices aggiorna i componenti del framework per le funzionalità di base del sistema operativo, come il ranking delle notifiche, le strategie di corrispondenza del testo per la compilazione automatica, la cache di archiviazione, il watchdog del pacchetto e altri servizi in esecuzione continua. Questo modulo è aggiornabile, il che significa che può ricevere aggiornamenti alle funzionalità al di fuori del normale ciclo di rilascio di Android.
Componenti del servizio
Il modulo ExtServices contiene i seguenti servizi.
DisplayHashingService
a partire da Android 12TextClassifierService
a partire da Android 11InlineSuggestionsRenderService
a partire da Android 11AutofillFieldClassificationService
a partire da Android 10NotificationAssistantService
a partire da Android 10ResolverRankerService
a partire da Android 10CacheQuotaService
a partire da Android 10
DisplayHashingService
In Android 12, DisplayHashingService
viene utilizzato per generare un'istanza di DisplayHash
per il buffer specificato. Viene inoltre utilizzato per verificare che il sistema abbia generato un hash di visualizzazione specifico. Quando genera un hash di visualizzazione, il chiamante può specificare quale degli algoritmi di hashing supportati vuole utilizzare.
TextClassifierService
Il componente del servizio
TextClassifierService
supporta le TextClassifier
API
e le funzionalità di Android come la selezione di testo intelligente e i suggerimenti intelligenti nelle
notifiche. Il modulo ExtServices contiene il classificatore di testo predefinito,
che viene verificato dal test CTS
TextClassifierPolicyTest.java
.
Se necessario, puoi configurare un servizio di classificazione del testo personalizzato specificando
config_defaultTextClassifierPackage
in
config.xml
.
I classificatori di testo personalizzati possono dipendere dal classificatore di testo predefinito chiamando
TextClassifierService.getDefaultTextClassifierImplementation(Context)
per ottenerne un'istanza.
InlineSuggestionRenderService
Il componente di servizio InlineSuggestionRenderService
consente di mostrare i suggerimenti in linea nella barra dei suggerimenti della tastiera. Questo servizio viene chiamato per visualizzare un oggetto
View
contenente il suggerimento in linea per il nuovo flusso di compilazione automatica in linea.
L'implementazione predefinita per questo servizio di rendering chiama
androidx.autofill.inline.Renderer
per visualizzare il suggerimento. Questo comportamento viene verificato dai test CTS in
/autofillservice/cts/inline/
.
Nome pacchetto
I dispositivi con Android 11 devono impostare
config_servicesExtensionPackage
(in
frameworks/base/core/res/res/values/config.xml
) sul nome del pacchetto ExtServices (com.android.ext.services
). Questa modifica di configurazione viene verificata dal
test CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
.
Confine del modulo
In Android 12, il codice del modulo ExtServices viene spostato da frameworks/base/apex/extservices
(una sottodirectory di frameworks/base project
) e packages/modules/ExtServices
.
La nuova struttura del progetto per packages/modules/ExtServices
è la seguente:
apex/
(file diframeworks/base/apex/extservices
)java/
(file dipackages/modules/ExtServices/res
,packages/modules/ExtServices/src
,packages/modules/ExtServices/tests
e file per la nuova funzionalità)jni/
(file per la nuova funzionalità)native/
(file per la nuova funzionalità)
Il confine del modulo ExtServices si trova in packages/modules/ExtServices
. Android
11 sposta inoltre diverse classi di implementazioneTextClassifier
da frameworks/base/core/
.
Formato del modulo
In Android 11, il modulo ExtServices
(com.android.ext.services
) è in formato APEX. In Android 10, questo modulo è in formato APK.
Personalizzazione
In Android 11, puoi configurare un servizio di classificazione del testo personalizzato che chiama il classificatore del testo predefinito (questa operazione non è consigliata). In Android 10, il modulo ExtServices non fornisce opzioni di personalizzazione.
Test
La suite di test di compatibilità Android (CTS) verifica la funzionalità del modulo ExtServices eseguendo un insieme completo di test CTS su ogni release del modulo. Inoltre, la suite di test principale (MTS) contiene anche diversi test ExtServices. L'elenco completo dei test ExtServices è il seguente:
Modifiche alla configurazione. Verificato dal test CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
.Configurazione
TextClassifier
. Verificato dal test CTScts/TextClassifierPolicyTest.java
.Suggerimento in linea di compilazione automatica. Verificato dai test CTS in
cts/inline/
.