1. 程式人生 > >Android實戰技巧之十七 Linux下的模擬器硬體加速

Android實戰技巧之十七 Linux下的模擬器硬體加速

                     

Intel提供了一個叫HAXM的虛擬硬體加速技術,全稱為:Intel Hardware Accelerated Execution Manager.
只要你的CPU是intel的產品並且支援VT(virtualization Technology)就可以使用HAXM技術將你的模擬器的速度提升至真機的水平。目前此技術支援蘋果的Mac系統和Windows系統,但Linux平臺不在此列。
這裡寫圖片描述

要知道Android的編譯環境Google首推Linux平臺(64位的Ubuntu)而Mac系統排到第二位。那麼在Linux平臺下是如何硬體加速的呢?
那就是傳說中的kvm(Kernel-based Virtual Machine),同樣的,它需要硬體的支援,比如intel的VT和AMD的V,它是基於硬體的完全虛擬化。
首先要確定你的cpu滿足要求,下面有幾個命令可以參考:

$ egrep -c '(vmx|svm)' /proc/cpuinfo4
  • 1
  • 2

列印的值不為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
  • 1
  • 2
  • 3
  • 4

檢驗安裝是否成功:

$ sudo virsh -c qemu:///system list Id    Name                           State----------------------------------------------------
  • 1
  • 2
  • 3

一切順利,接下來要建立x86或x86_64的模擬器,其他模擬器不支援。如下圖:
這裡寫圖片描述

用命令列啟動此模擬器:

$ /opt/sdk/tools/emulator -avd Nexus5API21 -qemu -m 2047 -enable-kvm
  • 1
  • 2

這裡寫圖片描述

使用起來果然飛快,連開啟網頁的速度都令人驚奇。當然了,如果不用命令列啟動,直接在Android Studio中啟動x86_64架構的模擬器,速度也是很快,唯獨arm架構的模擬器啟動速度奇慢無比。話又說回來,既然有了比較不錯的cpu,那麼機器的其他配置一定差不了,這樣的配置跑起模擬器來肯定要比原來強。

模擬器順手了,下面就盡情享受開發的樂趣吧。
如果覺得用自帶的模擬器不能夠滿足你的要求,那麼可以使用第三方的模擬器

Genymotion,網傳開發者反應良好。