Konfigurowanie środowiska IDE na potrzeby tworzenia SDV

Android Studio for Platform (ASfP) to zalecane zintegrowane środowisko programistyczne (IDE) do tworzenia platformy Android, w tym projektów Software Defined Vehicle (SDV) w systemie Android Automotive Operating System (AAOS) . ASfP udostępnia bogaty zestaw narzędzi do edytowania, kompilowania, debugowania i testowania kodu, w tym:

  • wsparcie oparte na AI (Gemini),
  • obsługę języków Rust, C, C++ i Java,
  • przydatne integracje do tworzenia AAOS SDV (np. obsługę emulatora Cuttlefish i języka VSIDL).

Instalowanie Android Studio for Platform

Aby zainstalować ASfP:

  1. Pobierz Android Studio for Platform.

  2. Wybierz wersję, która najlepiej odpowiada Twoim potrzebom:

    • Stabilna: najnowsza wersja produkcyjna, zalecana dla większości użytkowników.
    • Kanaryjska: wersje z wcześniejszym dostępem do najnowszych funkcji, ale potencjalnie mniej stabilne.
  3. Postępuj zgodnie z instrukcjami instalacji podanymi na stronie pobierania.

Konfigurowanie projektu AAOS SDV

Aby skonfigurować projekt AAOS SDV:

  1. Sprawdź, czy masz dostęp do repozytorium kodu źródłowego AAOS SDV oraz czy masz zainicjowaną i zsynchronizowaną lokalną kopię. Szczegółowe informacje o uzyskiwaniu dostępu do kodu źródłowego i inicjowaniu repozytorium znajdziesz w artykule Pobieranie, kompilowanie i uruchamianie.

  2. Uruchom Android Studio for Platform.

  3. Jeśli korzystasz z tej funkcji po raz pierwszy, postępuj zgodnie z instrukcjami kreatora konfiguracji, aby dostosować środowisko programistyczne.

  4. Utwórz nowy projekt:

    • Jeśli nie masz otwartego projektu, na ekranie powitalnym kliknij Nowy.
    • Jeśli masz już otwarty projekt, kliknij Otwórz lub w menu wybierz ASfP > Projekt > Importuj projekt ASfP.
  5. W kreatorze wypełnij szczegóły konfiguracji projektu:

    • Repo checkout: określ ścieżkę bezwzględną do katalogu głównego lokalnej kopii kodu źródłowego AAOS SDV (np. /path/to/sdv_source).

    • lunch target: wpisz odpowiedni cel lunch do tworzenia AAOS SDV w Cuttlefish, np. sdv_core_cf-trunk_staging-userdebug. Więcej dostępnych celów znajdziesz w artykule Wybieranie celu.

    • Project sources: podaj początkowe katalogi lub moduły, które chcesz uwzględnić w projekcie, albo kliknij ikonę folderu, aby otworzyć przeglądarkę systemu plików i wybrać katalogi. Wybranie zbyt wielu katalogów lub modułów wpływa na indeksowanie i wydajność wyszukiwania w IDE, dlatego uwzględnij tylko odpowiednie katalogi lub moduły.

    • Language support: wybierz Rust i C++ jako obsługiwane języki.

    • Project name: nadaj projektowi opisową nazwę.

    • Finish setup: kliknij Zakończ. ASfP utworzy strukturę projektu i plik konfiguracyjny .asfp-project.

ASfP automatycznie rozpocznie wstępny proces synchronizacji. ASfP analizuje kod źródłowy, rozwiązuje zależności za pomocą systemu kompilacji Soong i tworzy informacje potrzebne do funkcji analizy kodu. Może to zająć sporo czasu, zwłaszcza w przypadku pierwszej synchronizacji.

Dostosowywanie projektu

Plik .asfp-project w katalogu głównym projektu umożliwia dalsze dostosowywanie. Możesz edytować ten plik, aby:

  • dodawać i usuwać katalogi oraz moduły;
  • włączyć obsługę innych języków, takich jak C++ lub Rust (Java i Kotlin są domyślne);
  • skonfigurować flagi kompilacji.

Aby wprowadzić zmiany w pliku konfiguracyjnym, wybierz ASfP > Projekt > Otwórz konfigurację. Dostępne opcje konfiguracji znajdziesz w artykule Omówienie projektów.

Debugowanie i testowanie

Aby debugować i testować kod w ASfP, przeczytaj artykuły Debugowanie kodu platformy i Testowanie kodu platformy za pomocą atest.

Dostępne integracje

ASfP zawiera kilka przydatnych integracji do tworzenia AAOS SDV, w tym obsługę Cuttlefish i protokołu Language Server Protocol (LSP) w VSIDL.

Wtyczka Cuttlefish

Wtyczka Cuttlefish umożliwia użytkownikom tworzenie i uruchamianie lokalnych urządzeń Cuttlefish bezpośrednio z ASfP.

Instalowanie wtyczki

Wtyczka Cuttlefish jest wstępnie zainstalowana w ASfP i nie wymaga konfiguracji. Wtyczka wymaga zainstalowania na urządzeniu narzędzi Cuttlefish. W razie potrzeby postępuj zgodnie z instrukcjami, aby zainstalować narzędzia Cuttlefish.

Tworzenie urządzenia Cuttlefish

Aby utworzyć nowe urządzenie:

  1. Otwórz okno narzędzia Device Manager (Menedżer urządzeń), klikając Tools > Device Manager (Narzędzia > Menedżer urządzeń) lub ikonę Running Devices (Uruchomione urządzenia) w panelu po prawej stronie, jeśli Menedżer urządzeń jest już tam przypięty.

  2. Kliknij ikonę + i wybierz Create Cuttlefish Device (Utwórz urządzenie Cuttlefish).

  3. Skonfiguruj nowe urządzenie Cuttlefish. Urządzenia Cuttlefish możesz tworzyć na 2 sposoby:

    • Z lokalnej kopii drzewa źródłowego Androida:

      • Wybierz ścieżkę do skompilowanego celu, który odpowiada Twojej konfiguracji uruchamiania (więcej informacji znajdziesz w artykule Wybieranie celu).
      • Wybierz ścieżkę hosta.
      • Opcjonalnie wybierz dostępne konfiguracje urządzenia lub None (Brak) w przypadku konfiguracji domyślnej.
    • Z konfiguracji kanonicznej (użyj tej opcji, aby utworzyć wiele urządzeń z jednej konfiguracji):

      • Wybierz ścieżkę do konfiguracji urządzenia.
      • Opcjonalnie podaj dowolne flagi zastępowania, aby zastąpić opcje konfiguracji.
  4. Poczekaj, aż urządzenie Cuttlefish zostanie utworzone i dodane do listy uruchomionych urządzeń w Menedżerze urządzeń.

  5. W menu Running Devices (Uruchomione urządzenia) wybierz urządzenie Cuttlefish.

Możesz uruchamiać i zatrzymywać poszczególne urządzenia Cuttlefish, klikając ikonę zatrzymania lub uruchomienia obok urządzenia w Menedżerze urządzeń.

Otwieranie strony urządzenia Cuttlefish

Wtyczka Cuttlefish ma okno narzędzia, w którym wyświetla się strona Cuttlefish Device (Urządzenie Cuttlefish). Możesz na niej korzystać z funkcji dublowania ekranu.

Aby otworzyć okno narzędzia Cuttlefish, kliknij ikonę ... w panelu po lewej stronie i wybierz Cuttlefish. Możesz też wyszukać Cuttlefish w menu Help > Find Action (Pomoc > Znajdź działanie).

Protokół Language Server Protocol w VSIDL

W VSIDL protokół LSP udostępnia bogaty zestaw funkcji IDE, które usprawniają proces tworzenia plików VSIDL (z rozszerzeniem .vsidl) w ASfP.

Podświetlanie składni semantycznej

Serwer LSP zapewnia podświetlanie składni plików VSIDL.

  • Co robi: wyróżnia słowa kluczowe (service_bundle, publisher), pola (package:, message:) i literały.

  • Jak wypróbować: otwórz dowolny plik VSIDL. Plik jest oznaczony kolorami, aby odróżnić słowa kluczowe strukturalne od identyfikatorów zdefiniowanych przez użytkownika.

Diagnostyka na żywo (błędy i ostrzeżenia)

Serwer LSP stale sprawdza pliki i zgłasza problemy w czasie rzeczywistym.

  • Co robi: wykrywa błędy składni, nieprawidłowe odwołania do typów i inne błędy w całym katalogu i jego zależnościach.

  • Jak wypróbować: wprowadź literówkę w nazwie wiadomości (np. TiiirePressure). Pod błędnie napisanym słowem pojawi się czerwona falista linia. Najedź kursorem na słowo, aby zobaczyć komunikat o błędzie, lub wyświetl pełną listę w oknie narzędzia Problems (Problemy) u dołu IDE.

Możesz używać funkcji nawigacji i analizy, aby poznawać relacje między różnymi częściami katalogu VSIDL.

  • Autouzupełnianie: naciśnij Ctrl+spacja, aby zobaczyć sugestie słów kluczowych, wiadomości protobuf, usług RPC, tematów i kanałów. Sugestie słów kluczowych zawierają krótkie, przydatne wyjaśnienia ich przeznaczenia bezpośrednio w menu uzupełniania. LSP udostępnia też inteligentne fragmenty kodu do bloków takich jak publisher czy server, aby przyspieszyć pracę.

  • Przejdź do definicji: przytrzymaj Ctrl i kliknij (lub naciśnij Ctrl+B) odwołanie do wiadomości, usługi, tematu lub kanału, aby przejść bezpośrednio do jego definicji źródłowej, nawet jeśli znajduje się ona w innym pliku VSIDL lub protobuf.

  • Znajdź odwołania: umieść kursor na słowie kluczowym publisher, subscriber, server lub client i naciśnij Alt+Shift+F7, aby znaleźć wszystkie wystąpienia.

  • Informacje po najechaniu kursorem: przesuń kursor na typ lub właściwość (albo naciśnij Ctrl+Q). Pojawi się etykietka z komentarzami dokumentacji (jeśli istnieją).

Funkcje strukturalne

Serwer LSP pomaga zarządzać strukturą dużych plików VSIDL i poruszać się po niej:

  • Symbole dokumentu (konspekt): naciśnij Ctrl+F12 , aby wyświetlić etykietkę z szybką nawigacją, lub otwórz okno narzędzia Structure (Struktura) (Ctrl+Alt+7), aby zobaczyć widok drzewa wszystkich pakietów i jednostek w pliku.

  • Zakresy zwijania: kliknij ikony > lub V na marginesie (obok numerów wierszy), aby zwinąć lub rozwinąć duże bloki logiczne, takie jak service_bundle czy definicje mapowania.

  • Formatowanie dokumentu: naciśnij Ctrl+Alt+L , aby automatycznie sformatować plik, tworząc spójne wcięcia i odstępy.