Dispositivos Android virtuais chocos

O Cuttlefish é um dispositivo Android virtual configurável que pode ser executado remotamente (usando ofertas de nuvem de terceiros, como o Google Cloud Engine) e localmente (em máquinas Linux x86).

golos de choco

  • Liberte a plataforma e o desenvolvedor de aplicativos da dependência de hardware físico para desenvolver e validar alterações de código.
  • Replique o comportamento baseado em estrutura de um dispositivo real com foco em alta fidelidade , mantendo um alinhamento próximo com a estrutura principal.
  • Suporta todos os níveis de API após 28.
  • Forneça um nível consistente de funcionalidade em todos os níveis de API, alinhado com o comportamento no hardware físico.
  • Ativar escala:

    • Forneça a capacidade de executar vários dispositivos em paralelo.
    • Habilite a execução de testes simultâneos com alta fidelidade a um custo de entrada menor.
  • Forneça um dispositivo configurável com a capacidade de ajustar o fator de forma, RAM, CPUs, etc.

Comparar Cuttlefish com outros dispositivos

Choco e emulador de Android

Existem muitas semelhanças com o Android Emulator , mas o Cuttlefish garante total fidelidade com o framework Android (seja este AOSP puro ou uma implementação customizada em sua própria árvore). No aplicativo do mundo real, isso significa que você deve esperar que o Cuttlefish responda às suas interações no nível do sistema operacional, assim como um alvo de telefone físico construído com a mesma fonte de sistema operacional Android personalizada ou pura.

O emulador do Android foi criado com base no caso de uso de facilitar o desenvolvimento de aplicativos e contém muitos ganchos funcionais para atrair os casos de uso do desenvolvedor de aplicativos Android. Isso pode apresentar desafios se você quiser criar um emulador com sua estrutura Android personalizada. Se você precisa de um dispositivo virtual que seja representativo de seu código de plataforma/framework personalizado ou Android de ponta de árvore, o Cuttlefish é uma opção virtual ideal. É o dispositivo canônico para representar o estado atual do desenvolvimento do AOSP.

Choco e dispositivo físico

As principais diferenças entre um dispositivo virtual Cuttlefish e seu dispositivo físico estão no nível da camada de abstração de hardware (HAL), bem como em qualquer software que interaja com qualquer hardware personalizado. Exceto para implementações específicas de hardware, você deve esperar um comportamento funcionalmente equivalente entre o Cuttlefish e um dispositivo físico.

Como o Choco pode ajudar?

Você pode interagir com o Cuttlefish da mesma forma que faria com qualquer outro dispositivo Android que possa usar para depuração. Ele se registrará como um dispositivo normal via adb e você poderá interagir com ele como um dispositivo físico via área de trabalho remota. Os casos de uso são amplos e podem abranger testes de aplicativos, testes de criação de sistemas personalizados e muito mais.

Como o Cuttlefish busca a fidelidade total da estrutura, ele pode ser usado para testes funcionais de sua estrutura e/ou aplicativos onde não há dependências físicas de hardware impossíveis de emular.

Como o Cuttlefish é comumente usado para testes hoje?

Algumas aplicações comuns do Choco para testes incluem:

  • CTS
  • Conformidade com a estrutura
  • Teste de integração contínua
  • Conjuntos de teste personalizados

Posso hospedar chocos na nuvem?

Sim, o Cuttlefish oferece suporte nativo ao Google Cloud e está planejado o suporte para outras plataformas de nuvem.

Começando

Para obter orientação sobre como criar uma instância Cuttlefish com base em AOSP, consulte Use Cuttlefish .