Questa pagina descrive come avviare una build AOSP utilizzando Cuttlefish.
Verifica la disponibilità di KVM
Cuttlefish è un dispositivo virtuale e dipende dalla disponibilità della virtualizzazione sulla macchina host.
In un terminale della macchina host, assicurati che la virtualizzazione con una macchina virtuale basata su kernel (KVM) sia disponibile:
grep -c -w "vmx\|svm" /proc/cpuinfo
Questo comando deve restituire un valore diverso da zero.
Quando viene eseguito su una macchina ARM64, il modo più diretto è controllare
/dev/kvm
:
find /dev -name kvm
Avvia Cuttlefish
In una finestra del terminale, scarica, compila e installa i pacchetti Debian host:
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
Il riavvio attiva l'installazione di moduli kernel aggiuntivi e applica le regole
udev
.Cuttlefish fa parte della piattaforma Android Open Source (AOSP). Le build del dispositivo virtuale si trovano nel sito di integrazione continua di Android. Per trovare un indice di tutte le build Android, visita il sito di integrazione continua Android all'indirizzo http://ci.android.com/.
Inserisci un nome del ramo. Utilizza il ramo
aosp-android-latest-release
predefinito o un ramo di immagine di sistema generica (GSI) comeaosp-android13-gsi
.Vai al target di build aosp_cf_x86_64_only_phone e fai clic su userdebug per la build più recente.
Fai clic sulla casella verde sotto userdebug per selezionare questa build. Viene visualizzato un riquadro Dettagli con ulteriori informazioni specifiche per questa build. In questo riquadro, fai clic su Artefatti per visualizzare un elenco di tutti gli artefatti allegati a questa build.
Nel riquadro Artefatti, scarica gli artefatti per Cuttlefish.
Fai clic sull'artefatto
aosp_cf_x86_64_phone-img-xxxxxx.zip
per x86_64 o sull'artefattoaosp_cf_arm64_only_phone-xxxxxx.zip
per ARM64, che contiene le immagini del dispositivo. Nel nome del file, "xxxxxx" è l'ID build per questo dispositivo.Scorri verso il basso nel pannello e scarica
cvd-host_package.tar.gz
. Scarica sempre il pacchetto host dalla stessa build delle tue immagini.
Sul sistema locale, crea una cartella del contenitore ed estrai i pacchetti:
Architettura 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
Architettura 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
Avvia Cuttlefish:
HOME=$PWD ./bin/launch_cvd --daemon
Verifica che Cuttlefish sia visibile tramite adb
Come un dispositivo fisico, Cuttlefish è visibile tramite Android Debug Bridge (adb).
Nella stessa cartella in cui hai avviato Cuttlefish, esegui il seguente comando per visualizzare un elenco di tutti i dispositivi Android disponibili tramite adb sulla tua macchina host:
./bin/adb devices
Visualizzare e interagire con il dispositivo virtuale sul web
Per impostazione predefinita, Cuttlefish viene avviato con --start_webrtc
, che attiva una webview
tramite la porta 8443 sulla macchina host.
Per visualizzare e interagire con i tuoi dispositivi virtuali, vai all'indirizzo https://localhost:8443 nel tuo browser web.
Per saperne di più, vedi Cuttlefish: WebRTC Streaming.
Stop Cuttlefish
Arresta il dispositivo virtuale nella stessa directory che hai utilizzato per avviare il dispositivo:
HOME=$PWD ./bin/stop_cvd