Intel提供了一个叫HAXM的虚拟硬件加速技术,全称为:Intel Hardware Accelerated Execution Manager.
只要你的CPU是intel的产品并且支持VT(virtualization Technology)就可以使用HAXM技术将你的模拟器的速度提升至真机的水平。
Intel只提供了windows版和MAC版,而没有linux版,其实linux版就是KVM,只要启用了KVM,自然就是HAXM了。
Android的编译环境Google首推Linux平台(64位的Ubuntu)而Mac系统排到第二位。那么在Linux平台下是如何硬件加速的呢?
那就是传说中的KVM(Kernel-based Virtual Machine),同样的,它需要硬件的支持,比如intel的VT和AMD的V,它是基于硬件的完全虚拟化。
- 首先要确定你的cpu满足要求,下面有几个命令可以参考:
$ egrep -c '(vmx|svm)' /proc/cpuinfo
4
打印的值不为0即可。
- 检查是否支持upports kvm,需要安装工具cpu-checker
sudo apt-get install cpu-checker
- 执行检测命令
kvm-ok
- cpu支持
"INFO: Your CPU supports KVM extensions
INFO: /dev/kvm exists
KVM acceleration can be used"
- cpu不支持需要到bios中设置VT开启状态
"INFO: KVM is disabled by your BIOS
HINT: Enter your BIOS setup and enable Virtualization Technology (VT),
and then hard poweroff/poweron your system
KVM acceleration can NOT be used"
- 下面安装kvm:
$ sudo apt-get install qemu-kvm
$ sudo adduser linc kvm
$ sudo apt-get install libvirt-bin ubuntu-vm-builder bridge-utils
$ sudo adduser linc libvirtd
- 检验安装是否成功:
$ sudo virsh -c qemu:///system list
Id Name State
----------------------------------------------------
一切顺利,接下来要创建x86或x86_64的模拟器,其他模拟器不支持。
- 用命令行启动模拟器(自己替换相应的内容):
$ /path/sdk/tools/emulator -avd Nexus5API21 -qemu -m 2047 -enable-kvm
- 在Android Studio中设置启动命令:
默认启动命令是:
/home/zuolan/CodeLab/Android/Sdk/tools/emulator -avd Nexus_5_API_19 -netspeed full -netdelay none -qemu -m 2047 -enable-kvm
使用起来果然飞快,连打开网页的速度都令人惊奇。当然了,如果不用命令行启动,直接在Android Studio中启动x86_64架构的模拟器,速度也是很快,唯独arm架构的模拟器启动速度奇慢无比。话又说回来,既然有了比较不错的cpu,那么机器的其他配置一定差不了,这样的配置跑起模拟器来肯定要比原来强。
模拟器顺手了,下面就尽情享受开发的乐趣吧。
如果觉得用自带的模拟器不能够满足你的要求,那么可以使用第三方的模拟器Genymotion,网传开发者反应良好。