IDE für die SDV-Entwicklung einrichten

Android Studio for Platform (ASfP) ist die empfohlene integrierte Entwicklungsumgebung (IDE) für die Entwicklung der Android-Plattform, einschließlich Software Defined Vehicle (SDV)-Projekten für Android Automotive Operating System (AAOS). ASfP bietet eine Vielzahl von Tools zum Bearbeiten, Erstellen, Debuggen und Testen von Code, darunter:

  • KI-basierte Unterstützung (Gemini)
  • Unterstützung für die Sprachen Rust, C oder C++ und Java
  • Nützliche Integrationen für die AAOS SDV-Entwicklung (z. B. Unterstützung für den Cuttlefish-Emulator und die VSIDL-Sprache)

Android Studio für die Plattform installieren

So installieren Sie ASfP:

  1. Laden Sie Android Studio für die Plattform herunter.

  2. Wählen Sie die Version aus, die Ihren Anforderungen am besten entspricht:

    • Stabil:Die aktuelle Produktionsversion, die für die meisten Nutzer empfohlen wird
    • Canary:Vorabversionen mit den neuesten Funktionen, die aber möglicherweise weniger stabil sind
  3. Folgen Sie der Installationsanleitung auf der Downloadseite.

AAOS SDV-Projekt einrichten

So richten Sie ein AAOS SDV-Projekt ein:

  1. Prüfen Sie, ob Sie Zugriff auf das AAOS SDV-Quellcode-Repository haben und ob Sie Ihr lokales Checkout initialisiert und synchronisiert haben. Weitere Informationen zum Zugriff auf den Quellcode und zum Initialisieren des Repository finden Sie unter Herunterladen, Erstellen und Ausführen.

  2. Starten Sie Android Studio für die Plattform.

  3. Wenn Sie die Funktion zum ersten Mal verwenden, folgen Sie dem Einrichtungsassistenten, um die Entwicklungsumgebung anzupassen.

  4. Erstellen Sie ein neues Projekt:

    • Wenn Sie kein Projekt geöffnet haben, klicken Sie auf dem Begrüßungsbildschirm auf Neu.
    • Wenn Sie bereits ein Projekt geöffnet haben, klicken Sie auf Öffnen oder wählen Sie im Menü ASfP > Projekt > ASfP-Projekt importieren aus.
  5. Geben Sie die Details zur Projektkonfiguration im Assistenten ein:

    • Repo-Checkout:Geben Sie den absoluten Pfad zum Stammverzeichnis Ihres lokalen AAOS SDV-Quellcode-Checkouts an (z. B. /path/to/sdv_source).

    • lunch target:Geben Sie das entsprechende Lunch-Ziel für die AAOS SDV-Entwicklung auf Cuttlefish ein, z. B. sdv_core_cf-trunk_staging-userdebug. Weitere verfügbare Ziele finden Sie unter Ziel auswählen.

    • Projektquellen:Hier können Sie die anfänglichen Verzeichnisse oder Module auflisten, die Sie in Ihr Projekt aufnehmen möchten. Klicken Sie auf das Ordnersymbol, um den Dateisystembrowser zu öffnen und die Verzeichnisse auszuwählen. Wenn Sie zu viele Verzeichnisse oder Module auswählen, wirkt sich das auf die Indexierung und die Suchleistung der IDE aus. Nehmen Sie daher nur relevante Verzeichnisse oder Module auf.

    • Sprachunterstützung:Wählen Sie Rust und C++ als unterstützte Sprachen aus.

    • Projektname:Geben Sie Ihrem Projekt einen aussagekräftigen Namen.

    • Einrichtung abschließen:Klicken Sie auf Fertig. ASfP erstellt die Projektstruktur und die .asfp-project-Konfigurationsdatei.

ASfP startet automatisch einen ersten Synchronisierungsvorgang. ASfP analysiert Ihren Quellcode, löst Abhängigkeiten mit dem Soong-Build-System auf und erstellt die Informationen, die für Code-Intelligence-Funktionen erforderlich sind. Dies kann viel Zeit in Anspruch nehmen, insbesondere bei der ersten Synchronisierung.

Projekt anpassen

Die Datei .asfp-project im Stammverzeichnis Ihres Projekts ermöglicht weitere Anpassungen. Sie können diese Datei bearbeiten, um:

  • Verzeichnisse und Module hinzufügen oder entfernen
  • Aktivieren Sie die Unterstützung für andere Sprachen wie C++ oder Rust (Java und Kotlin sind standardmäßig aktiviert).
  • Build-Flags konfigurieren

Wenn Sie Änderungen an der Konfigurationsdatei vornehmen möchten, wählen Sie ASfP > Project > Open Config aus. Informationen zu den verfügbaren Konfigurationsoptionen finden Sie unter Projekte – Übersicht.

Fehler beheben und testen

Informationen zum Debuggen und Testen von Code in ASfP finden Sie unter Plattformcode debuggen und Plattformcode mit atest testen.

Verfügbare Integrationen

ASfP bietet einige nützliche Integrationen für die AAOS SDV-Entwicklung, darunter Unterstützung für Cuttlefish und das Language Server Protocol (LSP) in VSIDL.

Cuttlefish-Plug-in

Mit dem Cuttlefish-Plug-in können Nutzer lokale Cuttlefish-Geräte direkt über ASfP erstellen und ausführen.

Plug-in installieren

Das Cuttlefish-Plug-in ist in ASfP vorinstalliert und erfordert keine Einrichtung. Für das Plug-in müssen Cuttlefish-Tools auf dem Gerät installiert sein. Folgen Sie der Anleitung, um die Cuttlefish-Tools bei Bedarf zu installieren.

Cuttlefish-Gerät erstellen

So erstellen Sie ein neues Gerät:

  1. Öffnen Sie das Toolfenster „Gerätemanager“, indem Sie Tools > Device Manager (Tools > Gerätemanager) auswählen oder im rechten Bereich auf das Symbol Running Devices (Aktive Geräte) klicken, wenn der Gerätemanager dort bereits angepinnt ist.

  2. Klicken Sie auf das Symbol + und wählen Sie Cuttlefish-Gerät erstellen aus.

  3. Konfigurieren Sie das neue Cuttlefish-Gerät. Sie können Cuttlefish-Geräte auf zwei Arten erstellen:

    • Aus einem lokalen Android-Quellcodebaum:

      • Wählen Sie den Pfad zum erstellten Ziel aus, der Ihrer Startkonfiguration entspricht (weitere Informationen finden Sie unter Ziel auswählen).
      • Wählen Sie den Hostpfad aus.
      • Wählen Sie optional die verfügbaren Gerätekonfigurationen oder Keine für die Standardkonfiguration aus.
    • Aus der kanonischen Konfiguration (verwenden Sie diese Option, um mehrere Geräte aus der einzelnen Konfiguration zu erstellen):

      • Wählen Sie den Pfad zur Gerätekonfiguration aus.
      • Optional können Sie Überschreibungs-Flags angeben, um Konfigurationsoptionen zu überschreiben.
  4. Warten Sie, bis das Cuttlefish-Gerät erstellt und der Liste der aktiven Geräte im Gerätemanager hinzugefügt wurde.

  5. Wählen Sie das Cuttlefish-Gerät im Menü Running Devices (Aktive Geräte) aus.

Sie können einzelne Cuttlefish-Geräte starten oder stoppen, indem Sie im Gerätemanager neben dem Gerät auf das Symbol zum Stoppen oder Starten klicken.

Auf die Cuttlefish-Geräteseite zugreifen

Das Cuttlefish-Plug-in hat ein Toolfenster, in dem die Seite Cuttlefish Device (Cuttlefish-Gerät) angezeigt wird. Dort können Sie auf die Funktionen für die Bildschirmspiegelung zugreifen.

Klicken Sie zum Öffnen des Cuttlefish-Toolfensters auf das Symbol  im linken Bereich und wählen Sie Cuttlefish aus. Alternativ können Sie im Menü Hilfe > Aktion suchen nach Cuttlefish suchen.

Language Server Protocol in VSIDL

In VSIDL bietet der LSP eine Vielzahl von IDE-Funktionen, um Ihren Entwicklungs-Workflow bei der Arbeit mit VSIDL-Dateien (mit der Erweiterung .vsidl) in ASfP zu verbessern.

Semantische Syntaxhervorhebung

Der LSP-Server bietet Syntaxhervorhebung für VSIDL-Dateien.

  • Funktionsweise:Hebt Keywords (service_bundle, publisher), Felder (package:, message:) und Literale hervor.

  • So testen Sie die Funktion:Öffnen Sie eine beliebige VSIDL-Datei. Die Datei ist farblich codiert, um strukturelle Keywords von benutzerdefinierten Kennungen zu unterscheiden.

Live-Diagnose (Fehler und Warnungen)

Der LSP-Server validiert Dateien kontinuierlich und meldet Probleme in Echtzeit.

  • Funktionsweise:Erkennt Syntaxfehler, ungültige Typreferenzen und andere Fehler im gesamten Katalog und seinen Abhängigkeiten.

  • So probieren Sie es aus:Geben Sie einen Tippfehler in einen Nachrichtennamen ein (z. B. TiiirePressure). Unter dem falsch geschriebenen Wort wird eine rote geschlängelte Linie angezeigt. Bewegen Sie den Mauszeiger auf das Wort, um die Fehlermeldung zu sehen, oder rufen Sie die vollständige Liste im Toolfenster Problems unten in der IDE auf.

Mit Navigations- und Analysefunktionen können Sie die Beziehungen zwischen verschiedenen Teilen Ihres VSIDL-Katalogs untersuchen.

  • Automatische Vervollständigung:Drücken Sie Strg + Leertaste, um Vorschläge für Keywords, Protobuf-Nachrichten, RPC-Dienste, Themen und Channels zu sehen. Die Keyword-Vorschläge enthalten kurze, hilfreiche Erklärungen zu ihrem Zweck direkt im Vervollständigungsmenü. Die LSP bietet auch Smart Snippets für Blöcke wie publisher oder server, um Ihren Workflow zu beschleunigen.

  • Zu einer Definition wechseln:Halten Sie die Ctrl-Taste gedrückt und klicken Sie auf eine Nachricht, einen Dienst, ein Thema oder einen Kanalverweis (oder drücken Sie Ctrl+B), um direkt zur Quelldefinition zu springen, auch wenn sie sich in einer anderen VSIDL- oder Protobuf-Datei befindet.

  • Referenzen suchen:Setzen Sie den Cursor auf das Keyword publisher, subscriber, server oder client und drücken Sie Alt+Umschalt+F7, um alle Vorkommen zu finden.

  • Informationen per Mauszeiger:Bewegen Sie den Mauszeiger auf einen Typ oder eine Property oder drücken Sie Strg+Q. Eine Kurzinfo mit den Dokumentationskommentaren (falls vorhanden) wird angezeigt.

Strukturelle Merkmale

Der LSP-Server hilft Ihnen beim Verwalten und Navigieren in der Struktur großer VSIDL-Dateien:

  • Dokumentsymbole (Gliederung): Drücken Sie Strg+F12, um einen Quickinfo-Text für die schnelle Navigation aufzurufen, oder öffnen Sie das Toolfenster Struktur (Strg+Alt+7), um eine Baumansicht aller Bundles und Einheiten in der Datei aufzurufen.

  • Bereiche ein- und ausblenden:Klicken Sie in der Spalte neben den Zeilennummern auf das Symbol > oder V, um große logische Blöcke wie service_bundle oder Mapping-Definitionen ein- oder auszublenden.

  • Dokumentformatierung:Drücken Sie Strg+Alt+L, um die Datei automatisch neu zu formatieren und eine einheitliche Einrückung und einen einheitlichen Abstand zu erstellen.