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 Android Automotive Operating System (AAOS) Software Defined Vehicle (SDV) Projekten. ASfP bietet eine Vielzahl von Tools für die Codebearbeitung, das Erstellen, Debuggen und Testen, darunter:

  • KI-gestützte 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 for Platform installieren

So installieren Sie ASfP:

  1. Laden Sie Android Studio for Platform herunter.

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

    • Stabil:Die neueste Produktionsversion, die für die meisten Nutzer empfohlen wird
    • Canary:Vorabversionen mit den neuesten Funktionen, aber möglicherweise weniger stabil
  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 Ihren lokalen 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 for Platform.

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

  4. Erstellen Sie ein neues Projekt:

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

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

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

    • Projektquellen:Listen Sie die anfänglichen Verzeichnisse oder Module auf, die Sie in Ihr Projekt aufnehmen möchten, oder 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 Indexierungs- und 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 Konfigurationsdatei .asfp-project.

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. Das 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 hinzuzufügen oder zu entfernen.
  • Unterstützung für andere Sprachen wie C++ oder Rust zu aktivieren (Java und Kotlin sind die Standardsprachen).
  • Build-Flags zu konfigurieren.

Wenn Sie Änderungen an der Konfigurationsdatei vornehmen möchten, wählen Sie ASfP > Projekt > Konfiguration öffnen aus. Die verfügbaren Konfigurationsoptionen finden Sie unter Projektübersicht.

Debuggen 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, einschließlich 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 in ASfP erstellen und ausführen.

Plug-in installieren

Das Cuttlefish-Plug-in ist in ASfP vorinstalliert und muss nicht eingerichtet werden. Für das Plug-in müssen die 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“ über Tools > Gerätemanager oder klicken Sie im rechten Bereich auf das Symbol Aktive Geräte , 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 dem lokalen Android-Quellcodebaum-Checkout:

      • Wählen Sie den Pfad zum erstellten Ziel aus, der Ihrer Start konfiguration entspricht (weitere Informationen finden Sie unter Ziel auswählen).
      • Wählen Sie den Hostpfad aus.
      • Optional können Sie die verfügbaren Gerätekonfigurationen oder Keine für die Standardkonfiguration auswählen.
    • Aus der kanonischen Konfiguration (verwenden Sie diese Option, um mehrere Geräte aus einer einzigen 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ü 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 „Stopp“ oder „Start“ klicken.

Seite „Cuttlefish-Gerät“ aufrufen

Das Cuttlefish-Plug-in hat ein Toolfenster, in dem die Seite Cuttlefish-Gerät angezeigt wird. Dort können Sie auf die Funktionen zur Bildschirmspiegelung zugreifen.

Klicken Sie zum Öffnen des Cuttlefish-Toolfensters in der linken Seitenleiste auf das Symbol ... 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 das LSP eine Vielzahl von IDE-Funktionen, mit denen Sie Ihren Entwicklungsablauf bei der Arbeit mit VSIDL-Dateien (mit der Erweiterung .vsidl) in ASfP verbessern können.

Semantische Syntaxhervorhebung

Der LSP-Server bietet eine 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 gekennzeichnet, 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 Typverweise und andere Fehler im gesamten Katalog und seinen Abhängigkeiten.

  • So testen Sie die Funktion:Machen Sie einen Tippfehler in einem Nachrichtennamen (z. B. TiiirePressure). Unter dem falsch geschriebenen Wort wird eine rote Wellenlinie angezeigt. Bewegen Sie den Mauszeiger auf das Wort, um die Fehlermeldung zu sehen, oder rufen Sie die vollständige Liste im Toolfenster Probleme unten in der IDE auf.

Mit den Navigations- und Intelligence-Funktionen 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 Kanäle zu sehen. Die Keyword-Vorschläge enthalten kurze, hilfreiche Erklärungen zu ihrem Zweck direkt im Vervollständigungsmenü. Das LSP bietet auch intelligente Snippets für Blöcke wie publisher oder server, um Ihren Workflow zu beschleunigen.

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

  • Verweise suchen:Platzieren Sie den Cursor auf dem Keyword publisher, subscriber, server oder client und drücken Sie Alt+Umschalttaste+F7, um alle Vorkommen zu finden.

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

Strukturmerkmale

Der LSP-Server hilft Ihnen, die Struktur großer VSIDL-Dateien zu verwalten und darin zu navigieren:

  • Dokumentsymbole (Gliederung) : Drücken Sie Strg+F12 , um eine Kurzinfo 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 zu sehen.

  • Faltbereiche:Klicken Sie in der Leiste (neben den Zeilennummern) auf die Symbole > 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 konsistente Einrückung und Abstände zu erstellen.