本页介绍如何使用Cuttlefish启动 AOSP 构建。
验证 KVM 可用性
Cuttlefish 是虚拟设备,依赖于主机上可用的虚拟化。
在主机上的终端中,确保基于内核的虚拟机 (KVM) 的虚拟化可用:
grep -c -w "vmx\|svm" /proc/cpuinfo
该命令应返回一个非零值。
在 ARM 机器上运行时,最直接的方法是检查/dev/kvm
:
find /dev -name kvm
发射墨鱼
在终端窗口中,下载、构建并安装主机 Debian 软件包:
sudo apt install -y git devscripts config-package-dev debhelper-compat golang curl
git clone https://github.com/google/android-cuttlefish
cd android-cuttlefish
for dir in base frontend; do cd $dir debuild -i -us -uc -b -d cd .. done
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
重新引导会触发安装其他内核模块并应用
udev
规则。Cuttlefish 是 Android 开源平台 (AOSP) 的一部分。虚拟设备的构建可以在 Android 持续集成站点上找到。要查找所有 Android 版本的索引,请导航至 Android 持续集成站点: http://ci.android.com/ 。
输入分支名称。使用默认的
aosp-main
分支或使用通用系统映像 (GSI) 分支,例如aosp-android13-gsi
。导航到aosp_cf_x86_64_phone构建目标并单击userdebug以获取最新构建。
单击userdebug下面的绿色框选择此构建。将出现“详细信息”面板,其中包含特定于此版本的更多信息。在此面板中,单击工件可查看附加到此构建的所有工件的列表。
在工件面板中,下载 Cuttlefish 的工件。
单击
aosp_cf_x86_64_phone-img-xxxxxx.zip
工件,其中包含设备映像。在文件名中,“xxxxxx”是该设备的构建 ID。在面板中向下滚动并下载
cvd-host_package.tar.gz
。始终从与映像相同的版本下载主机包。
在本地系统上,创建一个容器文件夹并提取包:
mkdir cf
cd cf
tar -xvf /path/to/cvd-host_package.tar.gz
unzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zip
发射墨鱼:
HOME=$PWD ./bin/launch_cvd --daemon
通过 adb 验证 Cuttlefish 是否可见
与物理设备类似,Cuttlefish 通过Android 调试桥 (adb)可见。
在启动 Cuttlefish 的同一文件夹中,运行以下命令以查看主机上通过 adb 可用的所有 Android 设备的列表:
./bin/adb devices
在网络中查看虚拟设备并与之交互
默认情况下,Cuttlefish 使用--start_webrtc
启动,这会通过主机上的端口 8443 启用 Web 视图。
要查看虚拟设备并与之交互,请在 Web 浏览器中导航至https://localhost:8443 。
有关更多信息,请参阅Cuttlefish:WebRTC 流。
阻止墨鱼
在用于启动设备的同一目录中停止虚拟设备:
HOME=$PWD ./bin/stop_cvd