Rozpocznij

Na tej stronie dowiesz się, jak uruchomić kompilację AOSP za pomocą Cuttlefish.

Sprawdzanie dostępności KVM

Cuttlefish to urządzenie wirtualne, które zależy od dostępności wirtualizacji na maszynie hosta.

W terminalu na maszynie hosta sprawdź, czy dostępna jest wirtualizacja z maszyną wirtualną opartą na jądrze (KVM):

grep -c -w "vmx\|svm" /proc/cpuinfo

To polecenie powinno zwrócić wartość różną od zera.

Jeśli korzystasz z urządzenia ARM64, najprostszym sposobem jest sprawdzenie, czy występuje /dev/kvm:

find /dev -name kvm

Uruchom Cuttlefish

  1. W oknie terminala pobierz, skompiluj i zainstaluj pakiety Debiana 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 uruchomienie powoduje zainstalowanie dodatkowych modułów jądra i zastosowanie udevzasad.

  2. Cuttlefish jest częścią platformy Android Open-Source Platform (AOSP). Kompilacje urządzenia wirtualnego znajdziesz 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/.

  3. Wpisz nazwę gałęzi. Użyj domyślnej gałęzi aosp-android-latest-release lub gałęzi ogólnego obrazu systemu (GSI), np. aosp-android13-gsi.

  4. Przejdź do celu kompilacji aosp_cf_x86_64_only_phone i kliknij userdebug, aby wyświetlić najnowszą kompilację.

  5. Aby wybrać tę wersję, kliknij zielone pole pod napisem 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.

  6. W panelu Artefakty pobierz artefakty dla Cuttlefish.

    1. Kliknij artefakt aosp_cf_x86_64_phone-img-xxxxxx.zip dla x86_64 lub artefakt aosp_cf_arm64_only_phone-xxxxxx.zip dla ARM64, który zawiera obrazy urządzenia. W nazwie pliku „xxxxxx” to identyfikator kompilacji tego urządzenia.

    2. Przewiń w dół panelu i pobierz cvd-host_package.tar.gz. Zawsze pobieraj pakiet hosta z tej samej kompilacji co obrazy.

  7. W systemie lokalnym utwórz folder kontenera i wyodrębnij pakiety:

    1. 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

    2. 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

  8. Uruchom Cuttlefish:

    HOME=$PWD ./bin/launch_cvd --daemon

Sprawdź, czy Cuttlefish jest widoczny w adb

Podobnie jak urządzenie fizyczne Cuttlefish jest widoczny w Android Debug Bridge (adb).

W tym samym folderze, w którym uruchomiono Cuttlefish, wpisz to polecenie, aby wyświetlić listę wszystkich urządzeń z Androidem dostępnych przez adb na komputerze hosta:

./bin/adb devices

Wyświetlanie urządzenia wirtualnego w internecie i wchodzenie z nim w interakcje

Domyślnie Cuttlefish uruchamia się z parametrem --start_webrtc, który włącza widok internetowy przez port 8443 na maszynie hosta.

Aby wyświetlić urządzenia wirtualne i z nich korzystać, otwórz w przeglądarce adres https://localhost:8443.

Więcej informacji znajdziesz w artykule Cuttlefish: WebRTC Streaming.

Zatrzymywanie Cuttlefish

Zatrzymaj urządzenie wirtualne w tym samym katalogu, w którym zostało uruchomione:

HOME=$PWD ./bin/stop_cvd