Começar

Esta página descreve como iniciar uma compilação AOSP usando Cuttlefish .

Verifique a disponibilidade do KVM

Cuttlefish é um dispositivo virtual e depende da disponibilidade de virtualização na máquina host.

Em um terminal na sua máquina host, certifique-se de que a virtualização com uma máquina virtual baseada em kernel (KVM) esteja disponível:

grep -c -w "vmx\|svm" /proc/cpuinfo

Este comando deve retornar um valor diferente de zero.

Ao executar em uma máquina ARM, a maneira mais direta é verificar /dev/kvm :

find /dev -name kvm

Lançar Choco

  1. Em uma janela de terminal, baixe, construa e instale os pacotes host Debian:

    sudo apt install -y git devscripts equivs config-package-dev debhelper-compat golang curl
    git clone https://github.com/google/android-cuttlefish
    cd android-cuttlefish
    for dir in base frontend; do
      pushd $dir
      # Install build dependencies
      sudo mk-build-deps -i
      dpkg-buildpackage -uc -us
      popd
    done
    sudo dpkg -i ./cuttlefish-base_*_*64.deb || sudo apt-get install -f
    sudo dpkg -i ./cuttlefish-user_*_*64.deb || sudo apt-get install -f
    sudo usermod -aG kvm,cvdnetwork,render $USER
    sudo reboot
    

    A reinicialização aciona a instalação de módulos adicionais do kernel e aplica regras udev .

  2. O choco faz parte da plataforma Android Open-Source (AOSP). As compilações do dispositivo virtual são encontradas no site Android Continuous Integration. Para encontrar um índice de todas as compilações do Android, navegue até o site de integração contínua do Android em http://ci.android.com/ .

  3. Insira um nome de filial. Use a ramificação padrão aosp-main ou uma ramificação de imagem genérica do sistema (GSI) , como aosp-android13-gsi .

  4. Navegue até o destino de compilação aosp_cf_x86_64_phone e clique em userdebug para obter a compilação mais recente.

  5. Clique na caixa verde abaixo do userdebug para selecionar esta compilação. Um painel Detalhes aparece com mais informações específicas para esta compilação. Neste painel, clique em Artefatos para ver uma lista de todos os artefatos anexados a esta construção.

  6. No painel Artefatos, baixe os artefatos para Cuttlefish.

    1. Clique no artefato aosp_cf_x86_64_phone-img-xxxxxx.zip , que contém as imagens do dispositivo. No nome do arquivo, "xxxxxx" é o ID de compilação deste dispositivo.

    2. Role para baixo no painel e baixe cvd-host_package.tar.gz . Sempre baixe o pacote host da mesma compilação das suas imagens.

  7. No seu sistema local, crie uma pasta contêiner e extraia os pacotes:

    mkdir cf
    cd cf
    tar -xvf /path/to/cvd-host_package.tar.gz
    unzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zip
    
  8. Lançar Choco:

    HOME=$PWD ./bin/launch_cvd --daemon
    

Verifique se o Choco está visível através do adb

Semelhante a um dispositivo físico, o Cuttlefish é visível através do Android Debug Bridge (adb) .

Na mesma pasta onde você iniciou o Cuttlefish, execute o seguinte comando para ver uma lista de todos os dispositivos Android disponíveis através do adb em sua máquina host:

./bin/adb devices

Visualize e interaja com o dispositivo virtual na web

Por padrão, o Cuttlefish é iniciado com --start_webrtc , que permite uma visualização na web através da porta 8443 na máquina host.

Para visualizar e interagir com seus dispositivos virtuais, navegue até https://localhost:8443 em seu navegador.

Para obter mais informações, consulte Cuttlefish: streaming WebRTC .

Pare de choco

Pare o dispositivo virtual no mesmo diretório usado para iniciar o dispositivo:

HOME=$PWD ./bin/stop_cvd