Herunterladen, erstellen und ausführen

Auf dieser Seite wird beschrieben, wie Sie AAOS SDV auf Cuttlefish herunterladen, erstellen und ausführen.

AAOS SDV-Quellcode abrufen

Folgen Sie der Anleitung unter Android-Quellcode herunterladen.

Build-Umgebung einrichten

Rufen Sie im Arbeitsverzeichnis das Skript envsetup.sh auf, um die Build-Umgebung einzurichten:

source build/envsetup.sh

Dieses Skript importiert mehrere Befehle, mit denen Sie mit dem Android-Quellcode arbeiten können, einschließlich der Befehle, die auf dieser Seite verwendet werden. Den Quellcode des Skripts finden Sie unter platform/build/envsetup.sh. Geben Sie hmm ein, um die integrierte Hilfe aufzurufen.

Ziel auswählen

Bevor Sie SDV erstellen, müssen Sie ein Ziel für den Build festlegen. Verwenden Sie den Befehl lunch gefolgt von einem String, der das Ziel darstellt, für das Sie den Build erstellen. Mit diesem Befehl erstellen Sie beispielsweise ein Ziel für den Cuttlefish-Emulator:

lunch sdv_core_cf-aosp_current-userdebug

Mit diesem Befehl werden das Produkt, die Releasekonfiguration und die Variante für den Build ausgewählt und die Auswahl in der Umgebung gespeichert.

lunch -Ziele für SDV sind in einem separaten Git-Projekt im Verzeichnis devices/google/sdv verfügbar. Eine detaillierte Beschreibung der verfügbaren Ziele finden Sie unter device/google/sdv/README.md. Die wichtigsten Cuttlefish-Ziele (cf) sind:

  • sdv_core_cf-aosp_current-userdebug - Erstellt ein Image von AAOS SDV Core (sdv_core), das auf Cuttlefish (cf) ausgeführt wird.
  • sdv_media_cf-aosp_current-userdebug - Erstellt ein Image von AAOS SDV Core mit virtIO-virtualisierten Media APIs (sdv_media).
  • sdv_media_har_cf-aosp_current-userdebug - Erstellt ein Image, das das AAOS SDV Media (sdv_media_cf) lunch Ziel erweitert, um den Renderer mit hoher Verfügbarkeit (High-Availability Renderer, HAR) zu enthalten. HAR wird beim Booten automatisch ausgeführt.
  • sdv_ivi_cf-aosp_current-userdebug - Erstellt ein Image von In-Vehicle Infotainment (IVI) mit dem SDV-Gateway und Java-Beispiel-Apps.
  • sdv_ivi_cf_ds-aosp_current-userdebug - Erstellt ein Image, das das AAOS SDV IVI-Ziel (sdv_ivi_cf) erweitert und die DriverUI und Instrument Cluster-Implementierung von Display Safety enthält.

AAOS SDV erstellen

Führen Sie den folgenden Befehl aus, um das Ziel zu erstellen. Je nach Spezifikation Ihrer Workstation dauert der erste Build zwischen 30 und 60 Minuten. Nachfolgende Builds dauern deutlich weniger Zeit.

m

Die Ausgabe des Builds wird in $OUT_DIR angezeigt. Wenn Sie verschiedene Ziele erstellen, wird jeder Ziel-Build in $OUT_DIR angezeigt.

Build mit Cuttlefish testen

Nachdem Sie AAOS SDV erstellt haben, testen Sie den Build mit Cuttlefish.

  1. So starten Sie Cuttlefish mit Ihrem Build:

    cvd create

    Cuttlefish wird mit dem erstellten Ziel (sdv_core_cf-aosp_current-userdebug) ausgeführt. Nachdem Cuttlefish gestartet wurde, wird diese Meldung angezeigt:

    VIRTUAL_DEVICE_BOOT_COMPLETED
    Virtual device booted successfully
  2. Führen Sie adb aus, um eine Verbindung zu Cuttlefish herzustellen.

  3. Führen Sie adb devices aus, um zu prüfen, ob der Build ausgeführt wird. Ein Ergebnis ähnlich dem folgenden wird angezeigt:

    List of devices attached
    0.0.0.0:6520 device
  4. Führen Sie cvd stop aus, um das Gerät herunterzufahren.

Informationen zum Ausführen mehrerer Instanzen von Cuttlefish mit verschiedenen Builds finden Sie unter Cuttlefish: Multi-Tenancy.

Fehlerbehebung

In diesem Abschnitt wird beschrieben, wie Sie Fehler beheben, die beim Herunterladen, Erstellen oder Ausführen von AAOS SDV auftreten können.

RBE-Fehler

Wenn Fehler bei der Remote Build Execution (RBE) auftreten, entfernen Sie die Definitionen von USE_RBE und ENABLE_RBE_BOOTSTRAP aus .bashrc oder .zshrc.

cvd: VM manager crosvm isn't supported on this machine

Wenn Cuttlefish meldet, dass der VM-Manager crosvm auf Ihrem Computer nicht unterstützt wird, führen Sie den folgenden Befehl aus, um Cuttlefish zu installieren:

sudo apt install cuttlefish-common

cvd not found

Wenn der Fehler cvd not found angezeigt wird:

  1. Richten Sie den Build noch einmal ein.
  2. Fahren Sie mit Ziel auswählen fort.

Cuttlefish-Absturzschleifen

Wenn Cuttlefish in eine Absturzschleife gerät:

  1. Führen Sie cvd stop aus, um alle Cuttlefish-Instanzen zu beenden.
  2. Testen Sie den Build noch einmal mit Cuttlefish.