Dispositivi Android virtuali di seppia

Cos'è la seppia?

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

Obiettivi di seppia

  • Libera la piattaforma e lo sviluppatore di applicazioni dalla dipendenza dall'hardware fisico per sviluppare e convalidare le modifiche al codice.
  • Replica il comportamento basato sul framework di un dispositivo reale con particolare attenzione all'alta fedeltà mantenendo uno stretto allineamento con il framework principale.
  • Supporta tutti i livelli API dopo il 28.
  • Fornisci un livello coerente di funzionalità tra i livelli API, in linea con il comportamento sull'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.

Seppia a confronto con altri dispositivi

Seppie ed emulatore Android

Ci sono molte somiglianze con l' emulatore Android , ma Cuttlefish garantisce la piena fedeltà con il framework Android (che si tratti di AOSP puro o di un'implementazione personalizzata nel tuo 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 telefono target fisico costruito con la stessa sorgente del sistema operativo Android personalizzata o pura.

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. Ciò potrebbe presentare difficoltà se desideri creare un emulatore con il tuo framework Android personalizzato. Se hai bisogno di un dispositivo virtuale che sia rappresentativo della tua piattaforma/codice framework personalizzato o Android tip-of-tree, 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), nonché 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.

In che modo le seppie possono aiutare?

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 comprendere test di applicazioni, test di build di sistemi personalizzati e altro ancora.

Poiché Cuttlefish si impegna per la 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 delle seppie per i test includono:

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

Posso ospitare le seppie nella nuvola?

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

Iniziare

Consulta la Guida introduttiva per indicazioni sulla creazione di un'istanza Cuttlefish basata su AOSP.