Dispositivos Android virtuais chocos

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).

Gols de choco

  • Liberte o desenvolvedor da plataforma e do aplicativo 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 na 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 ao comportamento do hardware físico.
  • Ativar escala:

    • Fornece a capacidade de executar vários dispositivos em paralelo.
    • Habilite a execução simultânea de testes com alta fidelidade a um custo inicial mais baixo.
  • Fornece um dispositivo configurável com a capacidade de ajustar formato, RAM, CPUs, etc.

Compare o choco com outros dispositivos

Choco e emulador de Android

Existem muitas semelhanças com o Android Emulator , mas o Cuttlefish garante total fidelidade ao framework Android (seja este AOSP puro ou uma implementação customizada em sua própria árvore). Em aplicativos 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 criado com a mesma fonte de sistema operacional Android pura ou personalizada.

O Android Emulator foi desenvolvido 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 construir um emulador com sua estrutura Android personalizada. Se você precisa de um dispositivo virtual que represente seu código de plataforma/estrutura personalizado ou Android de ponta da árvore, o Cuttlefish é a 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 como 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 por meio da área de trabalho remota. Os casos de uso são amplos e podem abranger testes de aplicativos, testes de construção de sistemas personalizados e muito mais.

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

Como o Cuttlefish é comumente usado para testes hoje?

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

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

Posso hospedar o Cuttlefish na nuvem?

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

iniciar

Para obter orientação sobre como criar uma instância de Cuttlefish baseada em AOSP, consulte Usar Cuttlefish .