Cuttlefish 是一种可配置的虚拟 Android 设备,既可以远程运行(使用第三方云产品,如 Google Cloud Engine),又可以在本地运行(在 Linux x86 和 ARM64 计算机上)。
下载依赖与安装
官方文档
https://source.android.com/docs/devices/cuttlefish/get-started?hl=zh-cn
https://source.android.com/docs/devices/cuttlefish/get-started
注意:
英文文档和中文文档有差异,使用英文文档的安装方式依赖较好的网络环境;若遇到无法下载等网络问题,可参考中文文档进行配置。
检查系统架构:
lscpu
# 从右侧输出可以确认当前系统架构为 X86_64
架构: x86_64
CPU 运行模式: 32-bit, 64-bit
Address sizes: 39 bits physical, 48 bits virtual
字节序: Little Endian
检查KVM支持
Cuttlefish依赖KVM,所以安装之前,需确保KVM可用。
X86
grep -c -w "vmx\|svm" /proc/cpuinfo
若此命令返回一个非零值,表示KVM可用。
ARM
find /dev -name kvm
下载及安装
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
for dir in base frontend; do
pushd $dir
# Install build dependencies
sudo mk-build-deps -i
dpkg-buildpackage -uc -us
popd
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
配置系统镜像
Cuttlefish是Android开源项目AOSP的一部分,可以在AOSP官网下载合适的build版本。
具体下载及配置方式查看官网:
https://source.android.com/docs/devices/cuttlefish/get-started?hl=zh-cn
本文主要介绍使用AOSP源码编译出版本,然后使用CuttleFish调试的方式。
下载AOSP源码
编译源码三步走
source build/envsetup.sh
lunch aosp_cf_x86_64_phone-trunk_staging-userdebug
lunch后的版本字符串的组成部分为:
lunch product_name-release-build_variant
这product_name是要构建的产品的名称,例如
aosp_cf_x86_64_phone
或aosp_husky
。您的具体product_name您可以遵循您自己的设备格式,但 Google 为其设备使用的格式包含以下组件:
aosp
指的是Android开源平台。(可选)
cf
当目标打算在 Cuttlefish 模拟器中运行时,包含该选项。架构和硬件(代号),例如
x86_64_phone
或husky
是 Pixel 8 pro 的代号。如需查看 Google 设备代号列表,请参阅设备代号。这release设置为
trunk_staging
。这build_variant字符串部分可以是下表中的三个值之一:
若要查看当前lunch的设置版本,可运行:
echo "$TARGET_PRODUCT-$TARGET_RELEASE-$TARGET_BUILD_VARIANT"
m -j16
启动Cuttlefish模拟器
在经历数小时的编译之后,可使用以下命令启动模拟器
HOME=$PWD ./out/host/linux-x86/bin/launch_cvd -daemon -cpus=8 --memory_mb=8192 --gpu_mode=gfxstream
若想停止模拟器,可使用命令:
HOME=$PWD ./out/host/linux-x86/bin/stop_cvd
以上命令在AOSP源码根目录下执行,若报错,可先配置source/lunch等命令后再次尝试。
更多启动命令配置可查看以下文档:
正常启动Cuttlefish模拟器后,在终端会提示使用浏览器打开链接:
打开之后,将看到可用的虚拟机列表,点击左侧按钮即可启动对应版本虚拟机。
评论区