Herunterladen, erstellen und ausführen

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

Repo-Client initialisieren

Richten Sie Ihren Client für den Zugriff auf das Android-Quellcode-Repository ein:

  1. Erstellen Sie ein Arbeitsverzeichnis, z. B. sdv, und wechseln Sie in dieses Verzeichnis:

    mkdir WORKING_DIRECTORY
    cd WORKING_DIRECTORY
  2. Initialisieren Sie Ihr Arbeitsverzeichnis für die Quellcodeverwaltung:

    In diesem Beispiel wird der Branch 26Q2-fs-release verwendet.

    RELEASE=26Q2-fs-release
    repo init -u https://partner-android.googlesource.com/platform/vendor/pdk/generic/fs/manifest/ -b $RELEASE

    Die Option -u ist erforderlich und gibt eine Manifestdatei an. Das ist eine XML-Datei, in der angegeben wird, wo die verschiedenen Git-Projekte in der Android-Quelle in Ihrem Arbeitsverzeichnis platziert werden. In diesem Beispiel wird der Name der Manifestdatei nicht angegeben, sodass der Befehl die Standardmanifestdatei (default.xml) verwendet.

    Mit der Option -b wird der Zweig angegeben, den Sie initialisieren.

    Die Ausgabe sollte die folgende Meldung enthalten:

    repo has been initialized in path_to_working_directory

AAOS SDV-Quelle herunterladen

Führen Sie den folgenden Befehl aus, um den Android-Quellcodebaum in Ihr Arbeitsverzeichnis herunterzuladen:

repo sync -c -j8

Das Argument -c weist Repo an, den aktuellen Manifestzweig vom Server abzurufen. Mit dem Befehl -j8 wird die Synchronisierung auf mehrere Threads aufgeteilt, damit sie schneller abgeschlossen wird.

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 – Erstellen Sie 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 – Erstellen Sie ein Image, das auf dem AAOS SDV IVI-Ziel (sdv_ivi_cf) basiert 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 folgende 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 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“ 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.

Cuttlefish-Absturzschleifen

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