Pobieranie, kompilowanie i uruchamianie

Z tego artykułu dowiesz się, jak pobrać, skompilować i uruchomić AAOS SDV na Cuttlefish.

Pobieranie kodu źródłowego AAOS SDV

Postępuj zgodnie z instrukcjami podanymi w sekcji Pobieranie źródła Androida.

Konfigurowanie środowiska kompilacji

W katalogu roboczym uruchom skrypt envsetup.sh, aby skonfigurować środowisko kompilacji:

source build/envsetup.sh

Ten skrypt importuje kilka poleceń, które umożliwiają pracę z kodem źródłowym Androida, w tym polecenia użyte na tej stronie. Aby wyświetlić źródło skryptu, zobacz platform/build/envsetup.sh. Aby wyświetlić wbudowaną pomoc, wpisz hmm.

Wybierz cel

Przed utworzeniem SDV określ cel, który chcesz osiągnąć. Aby określić docelowy element do skompilowania, użyj polecenia lunch, a potem ciągu znaków reprezentującego docelowy element, który chcesz skompilować. Aby na przykład utworzyć element docelowy dla emulatora Cuttlefish, użyj tego polecenia:

lunch sdv_core_cf-trunk_staging-userdebug

To polecenie wybiera produkt, konfigurację wersji i wariant do skompilowania oraz zapisuje wybór w środowisku.

lunch pliki docelowe SDV są dostępne w osobnym projekcie Git znajdującym się w katalogudevices/google/sdv. Szczegółowy opis dostępnych miejsc docelowych znajdziesz na stronie device/google/sdv/README.md. Główne cele Cuttlefish (cf) to:

  • sdv_core_cf-trunk_staging-userdebug – Utwórz obraz podstawowej wersji AAOS SDVsdv_core, która działa na Cuttlefishcf.
  • sdv_media_cf-trunk_staging-userdebug – Utwórz obraz podstawowej wersji AAOS SDV z interfejsami API multimediów wirtualizowanymi za pomocą virtIO (sdv_media).
  • sdv_media_har_cf-trunk_staging-userdebug – Utwórz obraz, który rozszerza docelowy obraz multimediów AAOS SDV (sdv_media_cf) lunch, aby zawierał moduł renderowania o wysokiej dostępności (HAR). HAR uruchamia się automatycznie podczas włączania urządzenia.
  • sdv_ivi_cf-trunk_staging-userdebug – Utwórz obraz samochodowego systemu multimedialnego (IVI) zawierający bramę SDV i przykładowe aplikacje w Javie.
  • sdv_ivi_cf_ds-trunk_staging-userdebug – skompiluj obraz, który rozszerza docelową platformę AAOS SDV IVI (sdv_ivi_cf) i zawiera implementację interfejsu DriverUI i wyświetlacza wskaźników Display Safety.

Tworzenie SDV AAOS

Aby utworzyć środowisko docelowe, uruchom to polecenie: W zależności od specyfikacji stacji roboczej pierwsza kompilacja trwa od 30 do 60 minut. Kolejne kompilacje zajmują znacznie mniej czasu.

m

Dane wyjściowe kompilacji pojawią się w $OUT_DIR. Jeśli utworzysz różne wersje docelowe, każda z nich pojawi się w sekcji $OUT_DIR.

Testowanie kompilacji za pomocą Cuttlefish

Po skompilowaniu AAOS SDV przetestuj kompilację za pomocą Cuttlefish.

  1. Aby uruchomić Cuttlefish z kompilacją:

    cvd create

    Cuttlefish działa na podstawie utworzonego celu (sdv_core_cf-trunk_staging-userdebug). Po uruchomieniu Cuttlefish wyświetla ten komunikat:

    VIRTUAL_DEVICE_BOOT_COMPLETED
    Virtual device booted successfully
  2. Uruchom adb, aby połączyć się z Cuttlefish.

  3. Uruchom polecenie adb devices, aby sprawdzić, czy kompilacja działa. Wyświetli się wynik podobny do tego:

    List of devices attached
    0.0.0.0:6520 device
  4. Uruchom cvd stop, aby wyłączyć urządzenie.

Aby uruchomić wiele instancji Cuttlefish z różnymi kompilacjami, zapoznaj się z artykułem Cuttlefish: wielodostępność.

Rozwiązywanie problemów

W tej sekcji dowiesz się, jak rozwiązywać błędy, które mogą wystąpić podczas pobierania, tworzenia lub uruchamiania AAOS SDV.

Błędy RBE

Jeśli wystąpią błędy zdalnego wykonywania kompilacji (RBE), usuń definicje USE_RBEENABLE_RBE_BOOTSTRAP.bashrc lub .zshrc.

cvd: menedżer maszyn wirtualnych crosvm nie jest obsługiwany na tym komputerze

Jeśli Cuttlefish zgłosi, że menedżer maszyn wirtualnych crosvm nie jest obsługiwany na Twoim komputerze, uruchom to polecenie, aby zainstalować Cuttlefish:

sudo apt install cuttlefish-common

Nie znaleziono pliku cvd

Jeśli pojawi się błąd cvd not found:

  1. Ponownie skonfiguruj kompilację.
  2. Kliknij Wybierz cel.

Pętle awarii Cuttlefish

Jeśli Cuttlefish wpadnie w pętlę awarii:

  1. Aby zatrzymać wszystkie instancje Cuttlefish, uruchom polecenie cvd stop.
  2. Użyj Cuttlefish, aby ponownie przetestować kompilację