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

Führen Sie im Arbeitsverzeichnis das envsetup.sh-Skript aus, 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 auf dieser Seite verwendeten Befehle. Die Quelle 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 festlegen. Verwenden Sie den Befehl lunch, gefolgt von einem String, der das Ziel darstellt, für das Sie erstellen, um das Ziel zu identifizieren. Verwenden Sie beispielsweise diesen Befehl, um ein Ziel für den Cuttlefish-Emulator zu erstellen:

lunch sdv_core_cf-trunk_staging-userdebug

Mit diesem Befehl werden das Produkt, die Releasekonfiguration und die zu erstellende Variante 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-trunk_staging-userdebug: Erstellen Sie ein Image von AAOS SDV Core (sdv_core), das auf Cuttlefish (cf) ausgeführt wird.
  • sdv_media_cf-trunk_staging-userdebug – Erstellen Sie ein Image von AAOS SDV Core mit virtIO-virtualisierten Media-APIs (sdv_media).
  • sdv_media_har_cf-trunk_staging-userdebug – Erstelle ein Image, das das AAOS SDV-Media-Ziel (sdv_media_cf) lunch erweitert, um den High-Availability Renderer (HAR) zu enthalten. HAR wird beim Booten automatisch ausgeführt.
  • sdv_ivi_cf-trunk_staging-userdebug – Erstelle ein Bild des Infotainmentsystems im Fahrzeug (IVI), das das SDV-Gateway und die Java-Beispiel-Apps enthält.
  • sdv_ivi_cf_ds-trunk_staging-userdebug – Erstelle ein Image, das das AAOS SDV IVI-Ziel (sdv_ivi_cf) erweitert und die Implementierung von DriverUI und Instrument Cluster 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 lange.

m

Die Ausgabe Ihres 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 von Ihnen erstellten Ziel (sdv_core_cf-trunk_staging-userdebug) ausgeführt. Nach dem Booten von Cuttlefish 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 Ihr Build ausgeführt wird. Es wird ein Ergebnis ähnlich dem folgenden 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 Cuttlefish-Instanzen 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 RBE-Fehler (Remote Build Execution) auftreten, entfernen Sie die Definitionen von USE_RBE und ENABLE_RBE_BOOTSTRAP aus .bashrc oder .zshrc.

cvd: VM-Manager „crosvm“ wird auf diesem Computer nicht unterstützt

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 Sie den Fehler cvd not found erhalten:

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

Absturzschleifen in Cuttlefish

Wenn Cuttlefish in eine Absturzschleife gerät:

  1. Wenn Sie alle Cuttlefish-Instanzen beenden möchten, führen Sie cvd stop aus.
  2. Build mit Cuttlefish noch einmal testen