Pobieranie, kompilowanie i uruchamianie

Na tej stronie dowiesz się, jak pobrać, utworzyć i uruchomić AAOS SDV na urządzeniu Cuttlefish.

Pobieranie kodu źródłowego AAOS SDV

Postępuj zgodnie z instrukcjami podanymi w artykule Pobieranie kodu źródłowego 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żywane na tej stronie. Aby wyświetlić kod źródłowy skryptu, zobacz platform/build/envsetup.sh. Aby wyświetlić wbudowaną pomoc, wpisz hmm.

Wybierz cel

Przed utworzeniem SDV określ cel, który chcesz utworzyć. Aby określić środowisko docelowe, w którym chcesz utworzyć kompilację, użyj polecenia lunch, a po nim ciągu znaków reprezentującego środowisko docelowe, dla którego tworzysz kompilację. Aby na przykład utworzyć środowisko docelowe dla emulatora Cuttlefish, użyj tego polecenia:

lunch sdv_core_cf-aosp_current-userdebug

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

Cele lunch dla SDV są dostępne w osobnym projekcie Git w katalogu device/google/sdv. Szczegółowy opis dostępnych celów znajdziesz na stronie device/google/sdv/README.md. Główne cele Cuttlefish (cf) to:

  • sdv_core_cf-aosp_current-userdebug – utwórz obraz AAOS SDV Core (sdv_core) działający na urządzeniu Cuttlefish (cf).
  • sdv_media_cf-aosp_current-userdebug – utwórz obraz AAOS SDV Core z interfejsami API multimediów zwirtualizowanymi za pomocą virtIO (sdv_media).
  • sdv_media_har_cf-aosp_current-userdebug – utwórz obraz, który rozszerza cel multimediów SDV AAOS (sdv_media_cf) lunch, aby zawierał moduł renderowania o wysokiej dostępności (HAR). HAR uruchamia się automatycznie podczas uruchamiania urządzenia.
  • sdv_ivi_cf-aosp_current-userdebug – utwórz obraz samochodowego systemu multimedialnego (IVI) zawierający bramę SDV i przykładowe aplikacje w Javie.
  • sdv_ivi_cf_ds-aosp_current-userdebug – utwórz obraz, który rozszerza cel AAOS SDV IVI (sdv_ivi_cf) i zawiera implementację interfejsu kierowcy i tablicy rozdzielczej Display Safety.

Tworzenie SDV na AAOS

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

m

Dane wyjściowe kompilacji pojawią się w $OUT_DIR. Jeśli tworzysz różne cele, każda kompilacja celu pojawia się w $OUT_DIR.

Testowanie kompilacji za pomocą Cuttlefish

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

  1. Aby uruchomić Cuttlefish z kompilacją:

    cvd create

    Cuttlefish uruchamia się przy użyciu utworzonego celu (sdv_core_cf-aosp_current-userdebug). Po uruchomieniu Cuttlefish wyświetli się ten komunikat:

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

  3. Uruchom adb devices, aby sprawdzić, czy kompilacja jest uruchomiona. 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: obsługa wielu najemców.

Rozwiązywanie problemów

W tej sekcji wyjaśniamy, jak rozwiązywać problemy, które mogą wystąpić podczas pobierania, kompilowania lub uruchamiania AAOS SDV.

Błędy RBE

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

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

Jeśli Cuttlefish zgłasza, że VM Manager crosvm nie jest obsługiwany na Twoim komputerze, uruchom to polecenie, aby zainstalować Cuttlefish:

sudo apt install cuttlefish-common

Nie znaleziono cvd

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

  1. Ponownie skonfiguruj kompilację.
  2. Przejdź do sekcji Wybieranie celu.

Pętle awarii Cuttlefish

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

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