Intel HAXM是什么
Intel HAXM (Hardware Accelerated Execution Manager) 使用基于 Intel® Virtualization Technology (VT) 的硬件加速。可用于为android studio的模拟器加速。
在哪里
启动android SDK,在Extras目录的最下边,勾选Intel HAXM项,并下载。网上的文章都是这么写的,
我的是linux系统(opensuse),但是我在andrdoid studio的sdk目录下,死活找不到Intel HAXM项。
后来才知道linux下,不需要安装,只有macOs及windows下需要它。
安装
那么linux中怎么开启硬件加速模拟器速度呢,答案是开启KVM虚拟加速功能,开启后,安卓的模拟器会自动检测并使用KVM的虚拟加速。
检测是否支持
命令行中输入如下命令用于检测:
egrep -c ‘(vmx|svm)’ /proc/cpuinfo
输出值 1 或更大值表示支持虚拟化。输出值 0 表示您的 CPU 不支持硬件虚拟化。
方法
对于 Ubuntu 系统,请参阅 Ubuntu KVM 安装
我的是opensuse系统,则非常简单,直接在Yast安装工具的图形界面上操作,如下图,
Yast->虚拟化->安装Hypervisor和工具->KVM管理程序/libvirt LXC容器
钩选上KVM服务器,KVM工具,libvirt LXC守护进程这三个,点接受,就会自动安装。
判断是否安装
在sdk目录下运行下面命令:
./emulator/emulator -accel-check
输出如下则说明安装成功:
accel:
0
KVM (version 12) is installed and usable.
模拟器加速
-
在sdk目录下,运行./emulator/emulator -list-avds,可列出模拟器名称,
比如Galaxy_Nexus_API_30,然后用这个名称去手动启动,另外注意只支持x86的模拟器,
./emulator/emulator -avd Galaxy_Nexus_API_30 -netspeed full -netdelay none -qemu -m 2047 -enable-kvm -
还可以在Android Studio的Your Virtual Devices界面中,进对应模拟器的编辑选择,在Emulated Performance Graphics:选择Hardware-GLES 2.0,可开启图形加速。
如果是命令行启动可加上-gpu host选项,使用计算机上的 GPU 实现硬件加速。通常,使用此选项时,模拟器的图形质量和性能最高。
./emulator/emulator -avd Galaxy_Nexus_API_30 -netspeed full -netdelay none -qemu -m 2047 -enable-kvm -gpu host
实测,第7代i7加8G内存,opensuse系统,不开加速开模拟器会卡死,开了加速起码能操作了,可能参数上还能再优化下,比如模拟器分配的内存,分配多少个cpu,分辨率等。
作者:帅得不敢出门