Dispositivi Android virtuali di seppia

Cos'è la seppia?

Seppie è un dispositivo Android virtuale configurabile che può funzionare sia in modalità remota (tramite offerte cloud di terze parti come ad esempio Google Cloud Engine) e localmente (su macchine Linux x86).

Obiettivi di seppia

  • Libera lo sviluppatore di piattaforme e applicazioni dall'essere dipendenti dall'hardware fisico per sviluppare e convalidare le modifiche al codice.
  • Replicare il comportamento quadro basata su un dispositivo reale con particolare attenzione alla alta fedeltà, mantenendo stretto allineamento con la struttura di base.
  • Supporta tutti i livelli API dopo il 28.
  • Assicurare l'omogeneità di funzionalità su livelli API, allineato con il comportamento su hardware fisico.
  • Abilita scala:

    • Fornire la possibilità di eseguire più dispositivi in ​​parallelo.
    • Consenti l'esecuzione di test simultanei con alta fedeltà a un costo di ingresso inferiore.
  • Fornire un dispositivo configurabile con la possibilità di regolare fattore di forma, RAM, CPU, ecc.

Confronto tra seppie e altri dispositivi

Seppie ed emulatore Android

Ci sono molte somiglianze con l'Emulatore Android , ma Seppie garantisce piena fedeltà con il framework Android (se questo è puro AOSP o un'implementazione personalizzata nel proprio albero). Nell'applicazione del mondo reale, ciò significa che dovresti aspettarti che Cuttlefish risponda alle tue interazioni a livello di sistema operativo proprio come un target di un telefono fisico creato con la stessa sorgente del sistema operativo Android personalizzato o puro.

L'emulatore Android è stato costruito attorno al caso d'uso di semplificare lo sviluppo di applicazioni e contiene molti hook funzionali per fare appello ai casi d'uso dello sviluppatore di applicazioni Android. Questo può presentare problemi se vuoi creare un emulatore con il tuo framework Android personalizzato. Se hai bisogno di un dispositivo virtuale che rappresenti il ​​tuo codice piattaforma/framework personalizzato o Android tip-of-tree, allora Cuttlefish è un'opzione virtuale ideale. È il dispositivo canonico per rappresentare lo stato attuale dello sviluppo di AOSP.

Seppie e dispositivo fisico

Le differenze principali tra un dispositivo virtuale Cuttlefish e il tuo dispositivo fisico sono a livello di livello di astrazione hardware (HAL), così come qualsiasi software che interagisce con qualsiasi hardware personalizzato. Fatta eccezione per le implementazioni specifiche dell'hardware, dovresti aspettarti un comportamento funzionalmente equivalente tra Cuttlefish e un dispositivo fisico.

Come può aiutare la seppia?

Puoi interagire con Cuttlefish proprio come faresti con qualsiasi altro dispositivo Android che potresti utilizzare per il debug. Si registrerà come un normale dispositivo tramite adb e potrai interagire con esso come un dispositivo fisico tramite desktop remoto. I casi d'uso sono ampi e possono includere test di applicazioni, test di build di sistemi personalizzati e altro ancora.

Poiché Cuttlefish punta alla fedeltà completa del framework, può essere utilizzato per il test funzionale del framework e/o delle applicazioni in cui non esistono dipendenze hardware fisiche impossibili da emulare.

In che modo le seppie vengono comunemente utilizzate per i test oggi?

Alcune applicazioni comuni di Seppie per i test includono:

  • CTS
  • Conformità al quadro
  • Test di integrazione continua
  • Suite di test personalizzate

Posso ospitare le seppie nel cloud?

Sì, Cuttlefish supporta nativamente Google Cloud ed è previsto il supporto per altre piattaforme cloud.

Iniziare

Consultare la Guida introduttiva per la guida sulla creazione di un'istanza Seppie basata su AOSP.