在
Linux
上安装安卓模拟器(如
Genymotion
或
Android Studio
的内置模拟器)通常需要硬件
虚拟化支持,这可以通过
KVM
完成。本人亲测在ubuntu24.04上可用,但是是不是真的有加速效果不知,毕竟该卡的时候还是卡。
1.安装KVM的基本步骤:
1.1 检查
CPU
是否支持硬件虚拟化:
egrep -c '(vmx|svm)' /proc/cpuinfo
如果输出非0则表示支持。
或者CPU虚拟化支持的工具包:
sudo apt install cpu-checker
执行
kvm-ok
如果输出显示你的CPU支持虚拟化,并且没有错误信息,则可以继续安装KVM。
1.2 下载并安装KVM:
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
1.3 将用户添加到kvm和libvirt组,可以不用sudo就使用kvm:
sudo usermod -aG libvirt $(whoami)sudo usermod -aG kvm $(whoami)
1.4 重启计算机。
1.5 检查KVM安装是否成功
virsh list --all
如果一切正常,你应该会看到一个空的虚拟机列表(因为你还没有创建任何虚拟机)。
1.6安装完成后,libvirtd服务应该已经自动启动。你可以使用以下命令来检查它的状态:
sudo systemctl status libvirtd
如果服务没有运行,你可以使用以下命令来启动它:
sudo systemctl start libvirtd
为了确保libvirtd在系统启动时自动运行,你应该启用它:
sudo systemctl enable libvirtd
2. 对安卓虚拟机使用KVM加速:
2.1 在AVD中创建一个虚拟机,名字如
NexusAPI35
2.2 在Android SDK安装路径下的/tools/emulator/下以如下指令执行:
emulator -avd NexusAPI35 -netspeed full -netdelay none -qemu -m 2047 -enable-kvm
即可看到打开的模拟器。
——————————————————我是华丽的分割线————————————————
在说点扩展内容。
这几天,接了个项目,要使用某国产系统。这个系统,在我老机器上运行太卡,在我618新买的小新16Pro又装不上,我用U盘装好再在小新上引导也没图像。用虚拟机吧,mWare上输个密码也卡,于是我灵光一闪,既然KVM都装了,就用qemu做虚拟机吧。
说干就干,在各种强迫症作用下终于安完了。简要步骤如下:
1. 创建虚拟磁盘:
qemu-img create -u MyDisk.img 200G
2.创建虚拟机:
qemu-system-x86_64 -m 16384 -boot d -cdrom IAmOS-X86_64.iso -drive file=MyDisk.img,format=raw,media=disk,if=virtio -cpu host -smp 12 -vga virtio -display sdl,gl=on -enable-kvm
简要说明:
-m 设定内存大小-cpu host 是设置使用当前CPU特性-smp 设置CPU核心数-vga virtio -display sdl,gl=on是将显卡设为virtio-vga并开启3D
如果要虚拟机以UEFI启动,可以在后面添加
-pflash /usr/share/OVMF/OVMF_CODE_4M.fd
我没用是因为那破系统用UEFI就黑屏。
3.安装完后开启虚拟机:
qemu-system-x86_64 -m 16384 -boot c drive file=MyDisk.img,media=disk,if=virtio -smp 12 -vga virtio -display sdl,gl=on -enable-kvm
再记录下编译Qt需要的东西
sudo apt-get install libegl1-mesa-dev
sudo apt install pkg-config
sudo apt install libxtst-dev
sudo apt install dbus-tests
./configure -prefix /home/xzh/Qt/5.15.14 -recheck-all
./configure -prefix /home/xzh/Qt/5.15.14 -recheck-all -v -opengl es2 -egl