Intel提供了一個叫HAXM的虛擬硬件加速技術,全稱為:Intel Hardware Accelerated Execution Manager.
只要你的CPU是intel的產品并且支持VT(virtualization Technology)就可以使用HAXM技術將你的模擬器的速度提升至真機的水平。
Intel只提供了windows版和MAC版,而沒有l(wèi)inux版,其實linux版就是KVM,只要啟用了KVM,自然就是HAXM了。
Android的編譯環(huán)境Google首推Linux平臺(64位的Ubuntu)而Mac系統(tǒng)排到第二位。那么在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
- 執(zhí)行檢測命令
kvm-ok
- cpu支持
"INFO: Your CPU supports KVM extensions
INFO: /dev/kvm exists
KVM acceleration can be used"
- cpu不支持需要到bios中設置VT開啟狀態(tài)
"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
----------------------------------------------------
一切順利,接下來要創(chuàng)建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,那么機器的其他配置一定差不了,這樣的配置跑起模擬器來肯定要比原來強。
模擬器順手了,下面就盡情享受開發(fā)的樂趣吧。
如果覺得用自帶的模擬器不能夠滿足你的要求,那么可以使用第三方的模擬器Genymotion,網傳開發(fā)者反應良好。