Intel 提供了一個(gè)叫HAXM 的虛擬硬件加速技術(shù),全稱為:Intel Hardware Accelerated Execution Manager.
只要你的 CPU 是 intel 的產(chǎn)品并且支持 VT(virtualization Technology)就可以使用 HAXM 技術(shù)將你的模擬器的速度提升至真機(jī)的水平。目前此技術(shù)支持蘋果的 Mac 系統(tǒng)和 Windows 系統(tǒng),但 Linux 平臺(tái)不在此列。
http://wiki.jikexueyuan.com/project/android-actual-combat-skills/images/17-1.png" alt="fig.1" />
要知道 Android 的編譯環(huán)境 Google 首推 Linux 平臺(tái)(64位的Ubuntu)而 Mac 系統(tǒng)排到第二位。那么在 Linux 平臺(tái)下是如何硬件加速的呢?
那就是傳說(shuō)中的 kvm(Kernel-based Virtual Machine),同樣的,它需要硬件的支持,比如 intel 的 VT 和 AMD 的 V,它是基于硬件的完全虛擬化。
首先要確定你的 cpu 滿足要求,下面有幾個(gè)命令可以參考:
$ egrep -c '(vmx|svm)' /proc/cpuinfo
4
打印的值不為0即可。
下面安裝 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
檢驗(yàn)安裝是否成功:
$ sudo virsh -c qemu:///system list
Id Name State
----------------------------------------------------
一切順利,接下來(lái)要?jiǎng)?chuàng)建 x86或 x86_64的模擬器,其他模擬器不支持。如下圖:
http://wiki.jikexueyuan.com/project/android-actual-combat-skills/images/17-2.png" alt="fig.2" />
用命令行啟動(dòng)此模擬器:
$ /opt/sdk/tools/emulator -avd Nexus5API21 -qemu -m 2047 -enable-kvm
http://wiki.jikexueyuan.com/project/android-actual-combat-skills/images/17-3.png" alt="fig.3" />
使用起來(lái)果然飛快,連打開網(wǎng)頁(yè)的速度都令人驚奇。當(dāng)然了,如果不用命令行啟動(dòng),直接在 Android Studio 中啟動(dòng) x86_64架構(gòu)的模擬器,速度也是很快,唯獨(dú) arm 架構(gòu)的模擬器啟動(dòng)速度奇慢無(wú)比。話又說(shuō)回來(lái),既然有了比較不錯(cuò)的 cpu,那么機(jī)器的其他配置一定差不了,這樣的配置跑起模擬器來(lái)肯定要比原來(lái)強(qiáng)。
模擬器順手了,下面就盡情享受開發(fā)的樂(lè)趣吧。
如果覺(jué)得用自帶的模擬器不能夠滿足你的要求,那么可以使用第三方的模擬器 Genymotion,網(wǎng)傳開發(fā)者反應(yīng)良好。
參考: