Na tej stronie dowiesz się, jak uruchomić kompilację AOSP za pomocą narzędzia Cuttlefish.
Sprawdź dostępność KVM
Cuttlefish to urządzenie wirtualne, które zależy od dostępności wirtualizacji na hoście.
W terminalu na hoście sprawdź, czy dostępna jest wirtualizacja z użyciem maszyny wirtualnej opartej na jądrze:
grep -c -w "vmx\|svm" /proc/cpuinfo
To polecenie powinno zwrócić wartość inną niż zero.
W przypadku działania na komputerze z architekturą ARM64 najprostszym sposobem jest sprawdzenie pod kątem stanu /dev/kvm
:
find /dev -name kvm
Wystrzel mątwy
W oknie terminala pobierz, skompiluj i zainstaluj hostujące pakiety Debiana:
sudo apt install -y git devscripts equivs config-package-dev debhelper-compat golang curl
git clone https://github.com/google/android-cuttlefish
cd android-cuttlefish
tools/buildutils/build_packages.sh
sudo dpkg -i ./cuttlefish-base_*_*64.deb || sudo apt-get install -f
sudo dpkg -i ./cuttlefish-user_*_*64.deb || sudo apt-get install -f
sudo usermod -aG kvm,cvdnetwork,render $USER
sudo reboot
Ponowne uruchomienie aktywuje instalację dodatkowych modułów jądra i stosuje reguły
udev
.Cuttlefish jest częścią platformy Android open-source (AOSP). Kompilacje urządzenia wirtualnego można znaleźć na stronie ciągłej integracji Androida. Aby znaleźć indeks wszystkich kompilacji Androida, otwórz stronę ciągłej integracji Androida pod adresem http://ci.android.com/.
Wpisz nazwę gałęzi. Użyj domyślnej gałęzi
aosp-main
lub gałęzi ogólnego obrazu systemu (GSI), np.aosp-android13-gsi
.Przejdź do celu kompilacji aosp_cf_x86_64_phone i kliknij userdebug, aby pobrać najnowszą kompilację.
Aby wybrać tę kompilację, kliknij zielone pole poniżej userdebug. Pojawi się panel Szczegóły z bardziej szczegółowymi informacjami o tej kompilacji. W panelu kliknij Artefakty, aby zobaczyć listę wszystkich artefaktów podłączonych do tej kompilacji.
Z panelu Artefakty pobierz artefakty mątwy.
Kliknij artefakt
aosp_cf_x86_64_phone-img-xxxxxx.zip
dla x86_64 lub artefaktaosp_cf_arm64_only_phone-xxxxxx.zip
dla ARM64, który zawiera obrazy urządzeń. W nazwie pliku „xxxxxx” to identyfikator kompilacji tego urządzenia.Przewiń panel w dół i pobierz
cvd-host_package.tar.gz
. Zawsze pobieraj pakiet hosta z tej samej kompilacji co obrazy.
W systemie lokalnym utwórz folder kontenera i wyodrębnij pakiety:
Architektura x86_64:
mkdir cf
cd cf
tar -xvf /path/to/cvd-host_package.tar.gz
unzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zip
Architektura ARM64:
mkdir cf
cd cf
tar -xvf /path/to/cvd-host_package.tar.gz
unzip /path/to/aosp_cf_arm64_only_phone-img-xxxxxx.zip
Uruchom Cuttlefish:
HOME=$PWD ./bin/launch_cvd --daemon
Sprawdź, czy mątwa jest widoczna w narzędziu adb
Podobnie jak urządzenie fizyczne Cuttlefish jest widoczna przez Android Debug Bridge (adb).
W tym samym folderze, w którym uruchamiasz Cuttlefish, uruchom to polecenie, by wyświetlić listę wszystkich urządzeń z Androidem dostępnych przez adb na hoście:
./bin/adb devices
Wyświetlanie urządzenia wirtualnego w przeglądarce i korzystanie z niego
Domyślnie Cuttlefish uruchamia się z usługą --start_webrtc
, która umożliwia korzystanie z komponentu WebView przez port 8443 na hoście.
Aby wyświetlić urządzenia wirtualne i korzystać z nich, otwórz w przeglądarce stronę https://localhost:8443.
Więcej informacji znajdziesz w artykule Cuttlefish: strumieniowanie WebRTC.
Zatrzymaj mątwę
Zatrzymaj urządzenie wirtualne w tym samym katalogu, w którym zostało uruchomione:
HOME=$PWD ./bin/stop_cvd