Servizi esterni

Il modulo ExtServices aggiorna i componenti del framework per le funzionalità di base del sistema operativo, come ranking delle notifiche, strategie di compilazione automatica del testo, cache di archiviazione il watchdog di pacchetti e altri servizi in esecuzione continua. Questo modulo è aggiornabile, vale a dire che può ricevere aggiornamenti delle funzionalità al di fuori del normale Ciclo di rilascio di Android.

Componenti del servizio

Il modulo ExtServices contiene i seguenti servizi.

Servizio di hashing

In Android 12, DisplayHashingService è utilizzato per genera un'istanza di DisplayHash per il buffer specificato. È utilizzata anche per verificare che il sistema abbia generato uno specifico hash di visualizzazione. Quando generando un hash di visualizzazione, il chiamante può specificare quale dei gli algoritmi di hashing che desidera utilizzare.

Servizio TextClassifier

La TextClassifierService componenti di servizio supportati TextClassifier API e le funzionalità di Android come la selezione intelligente del testo e i suggerimenti intelligenti in notifiche. Il modulo ExtServices contiene il classificatore di testo predefinito, che viene verificato con il test CTS TextClassifierPolicyTest.java

Se necessario, puoi configurare un servizio di classificazione del testo personalizzato specificando config_defaultTextClassifierPackage pollici config.xml Le categorie di classificazione del testo personalizzate possono dipendere dal classificatore di testo predefinito richiamando TextClassifierService.getDefaultTextClassifierImplementation(Context) per ottenerne un'istanza.

Servizio di rendering suggerimento in linea

Il componente del servizio InlineSuggestionRenderService attiva i suggerimenti in linea da mostrare nella barra dei suggerimenti della tastiera. Questo servizio viene chiamato per eseguire il rendering Oggetto View che contiene il suggerimento in linea per il nuovo flusso di compilazione automatica in linea. L'implementazione predefinita per questa chiamata di servizio di renderer in androidx.autofill.inline.Renderer per eseguire il rendering del suggerimento. Questo comportamento viene verificato dai test CTS in /autofillservice/cts/inline/

Nome pacchetto

È necessario impostare i dispositivi con Android 11 config_servicesExtensionPackage (tra frameworks/base/core/res/res/values/config.xml) al pacchetto ExtServices nome (com.android.ext.services). Questa modifica alla configurazione è verificata dal Test CTS cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java.

Confine modulo

In Android 12, i servizi ExtServices il codice del modulo è stato spostato da frameworks/base/apex/extservices (questa è una sottodirectory di frameworks/base project) e packages/modules/ExtServices.

La nuova struttura del progetto per packages/modules/ExtServices è la seguente:

  • apex/ (file da frameworks/base/apex/extservices)
  • java/ (file da packages/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 limite del modulo ExtServices è in packages/modules/ExtServices. Android 11 sposta anche diverse implementazioni di TextClassifier classi su frameworks/base/core/.

Formato del modulo

In Android 11, il modulo ExtServices (com.android.ext.services) è in formato APEX formato. In Android 10, questo modulo è in formato APK.

Personalizzazione

In Android 11, puoi configurare un testo personalizzato servizio di classificazione che chiama il testo predefinito classificatore (tuttavia, sconsigliata). Nella Android 10, il modulo ExtServices non fornisce opzioni di personalizzazione.

Test

Android Compatibility Test Suite (CTS) verifica il modulo ExtServices l'esecuzione di una serie completa di test CTS su ogni modulo . Inoltre, la Mainline Test Suite (MTS) contiene anche Test dei servizi ExtServices. L'elenco completo dei test ExtServices è il seguente: