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:
Pobierz Android Studio for Platform.
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.
Postępuj zgodnie z instrukcjami instalacji podanymi na stronie pobierania.
Konfigurowanie projektu AAOS SDV
Aby skonfigurować projekt AAOS SDV:
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.
Uruchom Android Studio for Platform.
Jeśli korzystasz z tej funkcji po raz pierwszy, postępuj zgodnie z instrukcjami kreatora konfiguracji, aby dostosować środowisko programistyczne.
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.
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:
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.
Kliknij ikonę + i wybierz Create Cuttlefish Device (Utwórz urządzenie Cuttlefish).
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.
Poczekaj, aż urządzenie Cuttlefish zostanie utworzone i dodane do listy uruchomionych urządzeń w Menedżerze urządzeń.
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.
Nawigacja i analiza
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
publisherczyserver, 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,serverlubclienti 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_bundleczy definicje mapowania.Formatowanie dokumentu: naciśnij Ctrl+Alt+L , aby automatycznie sformatować plik, tworząc spójne wcięcia i odstępy.