Oggetto interfaccia fornitore

Questo documento descrive la progettazione dell'oggetto dell'interfaccia del fornitore (oggetto VINTF), che aggrega informazioni rilevanti su un dispositivo e rende tali informazioni disponibili tramite un'API interrogabile.

Progettazione di oggetti VINTF

Un oggetto VINTF raccoglie alcune delle informazioni di cui ha bisogno direttamente dispositivo. Altri aspetti, come i file manifest, sono descritti in modo statico in XML.

Figura 1. Manifest, matrici di compatibilità e informazioni raccoglibili in fase di runtime.

Il design degli oggetti VINTF fornisce quanto segue per dispositivo e framework componenti:

Per il dispositivo Per il framework
  • Definisce uno schema per il componente statico (il dispositivo file manifest).
  • Aggiunge il supporto del tempo di creazione per definire il file manifest del dispositivo per un determinato dispositivo.
  • Definisce interrogabile in fase di runtime, che recupera il file manifest del dispositivo (insieme all'altro informazioni raccoglibili nel runtime) e le pacchettizza nel risultato della query.
  • Definisce uno schema per il componente statico (il framework file manifest).
  • Definisce interrogabile API in fase di runtime, che recupera il file manifest del framework e lo pacchettizza nel risultato della query.

L'oggetto VINTF deve essere affidabile e fornire le stesse informazioni complete a prescindere da quando viene richiesto l'oggetto (vedi Avvertenze).

Manifest e matrici

A partire da Android 8.0, un'API runtime esegue una query su cosa è presente sul dispositivo e lo invia informazioni alla Over-the-Air (OTA) server di aggiornamento e altre parti interessate (come CTS) DeviceInfo). Alcune informazioni vengono recuperate in fase di runtime, mentre altre è definito in modo statico.

  • Il manifest del dispositivo descrive il componente statico di ciò che il dispositivo può fornire al framework.
  • La matrice di compatibilità del framework descrive cosa il framework Android si aspetta da un determinato dispositivo. La matrice è un'entità statica la cui composizione viene determinata manualmente durante lo sviluppo della versione successiva del framework Android.
  • Il manifest del framework descrive i servizi di alto livello che che il framework può fornire al dispositivo.
  • La matrice di compatibilità dei dispositivi descrive i servizi che l'immagine del fornitore richiede il framework. La sua composizione viene determinata manualmente durante lo sviluppo del dispositivo.

Queste due coppie di manifest e matrici devono essere riconciliate al momento dell'OTA per garantire che un dispositivo possa ricevere aggiornamenti del framework compatibili con le funzionalità di machine learning. In generale, un file manifest descrive ciò che viene fornito e un matrice di compatibilità descrive i requisiti.

Questa sezione include i seguenti dettagli su manifest e matrici:

  • Il campo file manifest definisce il manifest del dispositivo, il manifest del framework e lo schema del file manifest.
  • Compatibilità Matrixes definisce lo schema della matrice di compatibilità.
  • Dettagli sul ciclo di vita FCM come vengono deprecati e rimossi gli HAL HIDL e come i file FCM vengono modificati riflettono lo stato della versione HAL.
  • Sviluppo DM descrive modalità con cui i fornitori possono definire e dichiarare la versione di FCM di destinazione nel dispositivo. per i nuovi dispositivi o implementare nuove versioni HAL e Versione FCM target durante l'upgrade dell'immagine del fornitore per i dispositivi precedenti.
  • Regole di corrispondenza definisce le regole per una corrispondenza corretta tra una matrice di compatibilità e un del file manifest.