Dispositivi Android virtuali Seppia

Cuttlefish è un dispositivo Android virtuale configurabile che può essere eseguito sia da remoto (utilizzando offerte cloud di terze parti come Google Cloud Engine) che in locale (su macchine Linux x86 e ARM64).

Obiettivi di seppia

  • Libera la piattaforma e lo sviluppatore di app dalla dipendenza da hardware fisico per sviluppare e convalidare le modifiche al codice.
  • Replica il comportamento basato su framework di un dispositivo reale con particolare attenzione all'alta fedeltà mantenendo lo stretto allineamento con il framework di base.
  • Supporto di tutti i livelli API dopo il 28.
  • Fornisci un livello di funzionalità coerente nei vari livelli delle API, in linea con il comportamento sull'hardware fisico.
  • Abilita bilancia:

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

Confronta Seppia con altri dispositivi

Seppia ed emulatore Android

Esistono molte somiglianze con l'emulatore Android, ma Cuttlefish garantisce la massima fedeltà con il framework Android (che si tratti di un AOSP puro o di un'implementazione personalizzata nel tuo albero). Nelle applicazioni reali, ciò significa che Seppia dovrebbe rispondere alle tue interazioni a livello di sistema operativo proprio come un target di telefono fisico creato con la stessa sorgente di sistema operativo Android personalizzata o pura.

Android Emulator è stato realizzato per facilitare lo sviluppo di app e contiene molti hook funzionali per i casi d'uso degli sviluppatori di app per Android. Ciò potrebbe presentare dei problemi se vuoi creare un emulatore con il tuo framework Android personalizzato. Se hai bisogno di un dispositivo virtuale rappresentativo della tua piattaforma/del tuo codice framework personalizzato o della tua punta di albero di Android, Cuttlefish è l'opzione virtuale ideale. È il dispositivo canonico per rappresentare lo stato attuale dello sviluppo di AOSP.

Seppia e dispositivo fisico

Le differenze principali tra un dispositivo virtuale Cuttlefish e il tuo dispositivo fisico sono a livello di HAL (hardware, HAL) e di qualsiasi software che interagisce con hardware personalizzato. Ad eccezione delle implementazioni specifiche per hardware, dovresti aspettarti un comportamento funzionalmente equivalente tra semplice e un dispositivo fisico.

In che modo la seppia può essere d'aiuto?

Puoi interagire con Seppia come faresti con qualsiasi altro dispositivo Android che potresti usare per il debug. Si registra come un normale dispositivo tramite adb e potrai interagire come un dispositivo fisico tramite desktop remoto. I casi d'uso sono ampi e possono includere test di app, test personalizzati della build di sistema e altro ancora.

Poiché Cuttlefish si impegna per la fedeltà completa del framework, può essere utilizzato per test funzionali del framework o delle app in cui non esistono dipendenze hardware fisiche impossibili da emulare.

In che modo la Seppia viene comunemente utilizzata per i test oggi?

Ecco alcune applicazioni comuni della Seppia per i test:

  • CTS
  • Conformità al framework
  • Test di integrazione continui
  • Suite di test personalizzate

Posso ospitare seppie nel cloud?

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

Inizia

Per indicazioni sulla creazione di un'istanza Cuttlefish basata su AOSP, consulta Utilizzare Cuttlefish.