QNA > C > Cos'è Il 'Gsi' Sui Dispositivi Android?

Cos'è il 'GSI' sui dispositivi Android?

Un'immagine di sistema generica (GSI) è un'immagine di sistema con configurazioni adattate per i dispositivi Android. È considerata un'implementazione Android pura con codice Android Open Source Project (AOSP) non modificato che qualsiasi dispositivo Android con Android 8.1 o superiore può eseguire con successo.

Le GSI sono usate per eseguire i test VTS e CTS-on-GSI. L'immagine di sistema di un dispositivo Android viene sostituita con un GSI e poi testata con la Vendor Test Suite (VTS) e la Compatibility Test Suite (CTS) per assicurare che il dispositivo implementi correttamente le interfacce del fornitore con l'ultima versione di Android.

Per iniziare con i GSI, rivedete le seguenti sezioni per i dettagli sulle configurazioni dei GSI (e le variazioni consentite), i tipi (Android GSI e Legacy GSI), i binari del fornitore e le dipendenze VNDK. Quando siete pronti ad usare un GSI, scaricate e costruite il GSI per il vostro obiettivo del dispositivo e poi fate il flash del GSI su un dispositivo Android.

Configurazione e varianti del GSI

L'attuale progetto Android GSI ha la seguente configurazione:

  • Treble. Il GSI include il pieno supporto per i cambiamenti architettonici basati su HIDL (conosciuti anche come Treble) introdotti in Android 8.0, incluso il supporto per le interfacce HIDL. Potete usare il GSI su qualsiasi dispositivo Android che utilizza le interfacce HIDL del fornitore. (Per maggiori dettagli, vedi Risorse di architettura.)
  • Verifica l'avvio. Il GSI non include una soluzione di verifica dell'avvio (vboot 1.0, AVB, ecc.). Per flashare il GSI su un dispositivo Android, il dispositivo deve avere un metodo per disabilitare la verifica dell'avvio.
  • Variante di costruzione. Il GSI usa sempre una variante di build userdebug per abilitare l'esecuzione di VTS e CTS. Dopo aver sostituito l'immagine di sistema con il GSI, è possibile effettuare il root del dispositivo e poi testare con un'immagine vendor user-build e un'immagine di sistema userdebug-build.
  • File system e formato immagine. The GSI uses an ext4 file system with a sparse image format.

The current Android GSI project includes the following major variances:

  • Version. Support for Android 8.0, Android 8.1, and Android 9.
  • CPU architecture. Support for different CPU instructions (ARM, x86, etc.) and CPU bitness (32 bit or 64 bit).
  • Partition layout. Can use system-as-root or non-system-as-root partition layout.
  • Support for binder interface bitness.

GSI types

The GSI used for compliance testing is determined by the Android version that the device launches with. Android 9 supports the following GSIs.

GSI name

Description

Product name

Android GSI

For devices launching with Android 9. This GSI can run only on devices running Android 9 and higher.

aosp_

Legacy GSI

For devices launching with Android 8.0 or Android 8.1. Questo GSI può essere eseguito solo su dispositivi con Android 8.x.

aosp_(b)

Tutti i GSI sono costruiti a partire dal codebase di Android 9, e ogni architettura di cpu ha un binario GSI corrispondente (vedi l'elenco degli obiettivi di costruzione in Costruire i GSI).

Le modifiche di Android 9 GSI

I dispositivi che vengono lanciati con Android 9 devono usare Android 9 GSI per i test di conformità, che includono i seguenti cambiamenti principali rispetto ai precedenti GSI:

  • Fonde GSI ed emulatore. I GSI sono costruiti dalle immagini di sistema dei prodotti emulatori, per esempio, aosp_arm64 e aosp_x86.
  • System-as-root. Nelle versioni precedenti di Android, i dispositivi che non supportavano gli aggiornamenti A/B potevano montare l'immagine di sistema sotto la directory /system. In Android 9, la root dell'immagine di sistema è montata come root del dispositivo.
  • Interfaccia binder a 64-bit. In Android 8.x, i GSI a 32 bit usavano l'interfaccia binder a 32 bit. Android 9 non supporta l'interfaccia binder a 32-bit, quindi sia i GSI a 32-bit che quelli a 64-bit usano l'interfaccia binder a 64-bit.
  • Attuazione VNDK. In Android 8.1, VNDK era opzionale. In Android 9, VNDK è obbligatorio, il che significa cheBOARD_VNDK_RUNTIME_DISABLE non deve essere impostato (BOARD_VNDK_RUNTIME_DISABLE := # non deve essere impostato).
  • Proprietà di sistema compatibile. Android 9 abilita il controllo di accesso per una proprietà di sistema compatibile (PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true).

Di Kaliope Piacquadio

Qual è il miglior telefono da comprare per mia madre? :: Cos'è la vista web su Android?
Link utili