Los gehts

Auf dieser Seite wird beschrieben, wie Sie einen AOSP-Build mit Cuttlefish starten.

KVM-Verfügbarkeit prüfen

Cuttlefish ist ein virtuelles Gerät und hängt davon ab, ob die Virtualisierung auf dem Hostcomputer verfügbar ist.

Prüfen Sie in einem Terminal auf Ihrem Hostcomputer, ob die Virtualisierung mit einer Kernel-based Virtual Machine (KVM) verfügbar ist:

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

Dieser Befehl sollte einen Wert ungleich null zurückgeben.

Auf einer ARM64-Maschine ist es am einfachsten, nach /dev/kvm zu suchen:

find /dev -name kvm

Cuttlefish starten

  1. Laden Sie die Debian-Pakete für den Host in einem Terminalfenster herunter, erstellen Sie sie und installieren Sie sie:

    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
    tools/buildutils/build_packages.sh
    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

    Durch den Neustart werden zusätzliche Kernelmodule installiert und udev-Regeln angewendet.

  2. Cuttlefish ist Teil der Android Open-Source-Plattform (AOSP). Builds des virtuellen Geräts finden Sie auf der Android Continuous Integration-Website. Einen Index aller Android-Builds finden Sie auf der Android Continuous Integration-Website unter http://ci.android.com/.

  3. Geben Sie einen Zweignamen ein. Verwenden Sie den Standardzweig aosp-android-latest-release oder einen GSI-Zweig (Generic System Image) wie aosp-android13-gsi.

  4. Rufen Sie das Build-Ziel aosp_cf_x86_64_only_phone auf und klicken Sie für den neuesten Build auf userdebug.

  5. Klicken Sie auf das grüne Kästchen unter userdebug, um diesen Build auszuwählen. Ein Bereich Details wird mit weiteren Informationen zu diesem Build angezeigt. Klicken Sie in diesem Bereich auf Artefakte, um eine Liste aller Artefakte aufzurufen, die an diesen Build angehängt sind.

  6. Laden Sie im Bereich „Artefakte“ die Artefakte für Cuttlefish herunter.

    1. Klicken Sie auf das aosp_cf_x86_64_phone-img-xxxxxx.zip-Artefakt für x86_64 oder das aosp_cf_arm64_only_phone-xxxxxx.zip-Artefakt für ARM64, das die Geräte-Images enthält. Im Dateinamen ist „xxxxxx“ die Build-ID für dieses Gerät.

    2. Scrollen Sie im Bereich nach unten und laden Sie cvd-host_package.tar.gz herunter. Laden Sie das Hostpaket immer aus demselben Build wie Ihre Bilder herunter.

  7. Erstellen Sie auf Ihrem lokalen System einen Containerordner und extrahieren Sie die Pakete:

    1. x86_64-Architektur:

      mkdir cf
      cd cf
      tar -xvf /path/to/cvd-host_package.tar.gz
      unzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zip

    2. ARM64-Architektur:

      mkdir cf
      cd cf
      tar -xvf /path/to/cvd-host_package.tar.gz
      unzip /path/to/aosp_cf_arm64_only_phone-img-xxxxxx.zip

  8. Cuttlefish starten:

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

Prüfen, ob Cuttlefish über ADB sichtbar ist

Ähnlich wie bei einem physischen Gerät ist Cuttlefish über die Android Debug Bridge (ADB) sichtbar.

Führen Sie im selben Ordner, in dem Sie Cuttlefish gestartet haben, den folgenden Befehl aus, um eine Liste aller Android-Geräte aufzurufen, die über adb auf Ihrem Hostcomputer verfügbar sind:

./bin/adb devices

Virtuelles Gerät im Web ansehen und damit interagieren

Standardmäßig wird Cuttlefish mit --start_webrtc gestartet, wodurch eine Webansicht über Port 8443 auf dem Hostcomputer aktiviert wird.

Wenn Sie Ihre virtuellen Geräte aufrufen und mit ihnen interagieren möchten, rufen Sie in Ihrem Webbrowser https://localhost:8443 auf.

Weitere Informationen finden Sie unter Cuttlefish: WebRTC Streaming.

Cuttlefish beenden

Beenden Sie das virtuelle Gerät im selben Verzeichnis, in dem Sie es gestartet haben:

HOME=$PWD ./bin/stop_cvd