Na tej stronie opisaliśmy, jak uruchomić wersję AOSP za pomocą Cuttlefish.
Sprawdzanie dostępności KVM
Cuttlefish to urządzenie wirtualne, które wymaga wirtualizacji na maszynie hosta.
W terminalu na maszynie hosta sprawdź, czy wirtualizacja z maszyną wirtualną na poziomie jądra (KVM) jest dostępna:
grep -c -w "vmx\|svm" /proc/cpuinfo
To polecenie powinno zwrócić wartość różną od 0.
W przypadku maszyn ARM64 najprostszym sposobem jest sprawdzenie, czy /dev/kvm
:
find /dev -name kvm
Uruchamianie Cuttlefish
W oknie terminala pobierz, skompiluj i zainstaluj pakiety Debiana dla hosta:
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 uruchamianie powoduje instalację dodatkowych modułów jądra i zastosuje
udev
zasad.Cuttlefish jest częścią platformy Android Open-Source Platform (AOSP). Kompilacje urządzenia wirtualnego można znaleźć na stronie ciągłej integracji Androida. Aby znaleźć indeks wszystkich wersji Androida, otwórz stronę integracji ciągłej Androida na stronie http://ci.android.com/.
Wpisz nazwę oddziału. Użyj domyślnej gałęzi
aosp-android-latest-release
lub użyj gałęzi ogólnego obrazu systemu (GSI), takiej jakaosp-android13-gsi
.Przejdź do wersji aosp_cf_x86_64_only_phone i kliknij userdebug, aby pobrać najnowszą wersję.
Aby wybrać tę wersję, kliknij zielone pole poniżej userdebug. Pojawi się panel Szczegóły z dodatkowymi informacjami o tej kompilacji. W tym panelu kliknij Artefakty, aby wyświetlić listę wszystkich artefaktów dołączonych do tej kompilacji.
W panelu Elementy pobierz elementy dotyczące Cuttlefish.
Kliknij artefakt
aosp_cf_x86_64_phone-img-xxxxxx.zip
w przypadku x86_64 lub artefaktaosp_cf_arm64_only_phone-xxxxxx.zip
w przypadku ARM64, który zawiera obrazy urządzeń. W nazwie pliku „xxxxxx” to identyfikator kompilacji dla tego urządzenia.Przewiń w dół panel i pobierz
cvd-host_package.tar.gz
. Zawsze pobieraj pakiet hosta z tej samej wersji, 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 Cuttlefish jest widoczny w adb
Podobnie jak fizyczne urządzenie, Cuttlefish jest widoczny w Android Debug Bridge (adb).
W tym samym folderze, w którym uruchomiono Cuttlefish, uruchom to polecenie, aby wyświetlić listę wszystkich urządzeń z Androidem dostępnych w programie adb na komputerze hosta:
./bin/adb devices
Wyświetlanie urządzenia wirtualnego i nawiązywanie z nim interakcji w internecie
Domyślnie Cuttlefish uruchamia się z użyciem --start_webrtc
, co umożliwia wyświetlanie widoku w przeglądarce przez port 8443 na komputerze hosta.
Aby wyświetlić urządzenia wirtualne i z nimi pracować, otwórz w przeglądarce adres https://localhost:8443.
Więcej informacji znajdziesz w artykule Cuttlefish: strumieniowe przesyłanie danych za pomocą WebRTC.
Zatrzymaj Cuttlefish
Zatrzymaj urządzenie wirtualne w tym samym katalogu, z którego zostało uruchomione:
HOME=$PWD ./bin/stop_cvd