Z tego artykułu dowiesz się, jak pobrać, skompilować i uruchomić AAOS SDV na urządzeniu Cuttlefish.
Inicjowanie klienta Repo
Skonfiguruj klienta, aby uzyskać dostęp do repozytorium kodu źródłowego Androida:
Utwórz katalog roboczy, np.
sdv, i przejdź do niego:mkdir WORKING_DIRECTORYcd WORKING_DIRECTORYZainicjuj katalog roboczy na potrzeby kontroli źródła:
W tym przykładzie używamy gałęzi
26Q2-fs-release.RELEASE=26Q2-fs-releaserepo init -u https://partner-android.googlesource.com/platform/vendor/pdk/generic/fs/manifest/ -b $RELEASEOpcja
-ujest wymagana i wskazuje plik manifestu, czyli plik XML określający, gdzie w katalogu roboczym znajdują się różne projekty Git w źródle Androida. W tym przykładzie nazwa pliku manifestu nie jest określona, więc polecenie używa domyślnego pliku manifestu (default.xml).Opcja
-bokreśla gałąź, którą inicjujesz.Dane wyjściowe powinny zawierać ten komunikat:
repo has been initialized in path_to_working_directory
Pobieranie źródła AAOS SDV
Aby pobrać drzewo źródłowe Androida do katalogu roboczego, uruchom to polecenie:
repo sync -c -j8Argument -c nakazuje Repo pobranie z serwera bieżącej gałęzi pliku manifestu. Polecenie -j8 dzieli synchronizację na wątki, aby przyspieszyć jej zakończenie.
Konfigurowanie środowiska kompilacji
W katalogu roboczym uruchom skrypt envsetup.sh, aby skonfigurować środowisko kompilacji:
source build/envsetup.shTen 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ć źródło skryptu, kliknij platform/build/envsetup.sh. Aby wyświetlić wbudowaną pomoc, wpisz hmm.
Wybierz cel
Przed utworzeniem SDV określ element docelowy. Aby go określić, użyj polecenia lunch, a potem ciągu znaków reprezentującego element docelowy, dla którego tworzysz SDV. Aby na przykład utworzyć element docelowy dla emulatora Cuttlefish, użyj tego polecenia:
lunch sdv_core_cf-trunk_staging-userdebugTo polecenie wybiera produkt, konfigurację wersji i wariant do utworzenia 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 AAOS SDV Coresdv_core, który 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 SDV AAOS (sdv_media_cf)lunch, aby zawierał moduł renderujący 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 docelowy system IVI SDV AAOS (sdv_ivi_cf) i zawiera implementację DriverUI i zestawu 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 zajmuje od 30 do 60 minut. Kolejne kompilacje zajmują znacznie mniej czasu.
mWynik 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.
Aby uruchomić Cuttlefish z kompilacją:
cvd createCuttlefish 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 successfullyUruchom
adb, aby połączyć się z Cuttlefish.Uruchom polecenie
adb devices, aby sprawdzić, czy kompilacja jest uruchomiona. Wyświetli się wynik podobny do tego:List of devices attached 0.0.0.0:6520 deviceUruchom
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_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łosi, że menedżer maszyn wirtualnych crosvm nie jest obsługiwany na Twoim komputerze, uruchom to polecenie, aby zainstalować Cuttlefish:
sudo apt install cuttlefish-commonNie znaleziono pliku cvd
Jeśli pojawi się błąd cvd not found:
- Ponownie skonfiguruj kompilację.
- Kliknij Wybierz cel.
Pętle awarii Cuttlefish
Jeśli Cuttlefish wejdzie w pętlę awarii:
- Aby zatrzymać wszystkie instancje Cuttlefish, uruchom polecenie
cvd stop. - Użyj Cuttlefish, aby ponownie przetestować kompilację