加速你的安卓模擬器,讓開發更迅速

hanson發表於2014-03-14

我看到一篇文章聲稱:使用英特爾的硬體加速執行管理器(HAXM)驅動可以對安卓模擬器進行加速。這讓我很興奮,所以決定去驗證這個說法。這篇博文就是我驗證的過程。

我使用的工具:
– Andorid SDK r20.0.3
– Intellij Community Edition 11.1.3

根本上說,這個特別的“加速”來自Intel一個特別的“x86 Atom System Image”,這個東西利用HAXM驅動可以讓模擬器有更好的表現。在這裡我不會重複一些技術的細節,你可以進入下面的連結檢視更多資訊。

警告:這個技巧僅在Intel的硬體下實現,而且需要同時啟用“Virtualization Technology for Directed I/O (VT-d)”(一般通過BIOS進行設定)。

此外, “x86 Atom System Image”目前(這篇部落格釋出的時候)僅支援下列安卓版本,2.3.3 (Gingerbread), 4.0.3 (ICD)以及4.1 (Jelly Bean)

在開始前,請將環境變數ANDROID_SDK_HOME設定為對應Android SDK的根目錄。這樣可以避免許多令人頭痛的問題。

執行步驟

  1. 通過Android SDK Manager下載並安裝相關的包。
  2. 建立一個安卓虛擬裝置(AVD)。
  3. 在IntelliJ CE裡建立一個Android Module Project。
  4. 用AVD測試部署安卓應用。

1、通過Android SDK Manager下載相關的包

啟動SDK Manager並確認下面的東西已經安裝就緒:

  • Intel x86 Atom System Images(下面顯示的是Android2.3.3版本)
  • Intel x86 Emulator Accelerator (HAXM)

Android SDK Manager

接下來,你需要手動安裝HAXM driver。在Android SDK的根目錄下,找到extras\intel\Hardware_Accelerated_Execution_Manager,執行
IntelHaxm.exe進行安裝。

2、建立一個安卓虛擬裝置(AVD)

啟動AVD Manager並建立兩個配置相同但安卓版本不同的AVD:

  • DefaultAVD233 – Android 2.3.3 – API Level 10
  • IntelAVD233 – Intel Atom x86 System Image (Intel Corporation) – API Level 10

Android Virtual Device Manager

3.在IntelliJ CE裡建立一個Android Module Project

在IntelliJ裡,新建一個Android Module型別專案。

New Project

在”Android SDK”下選擇合適的Android platform。你需要指向你Android SDK下的根目錄才能選擇合適的構建版本,如下圖所示選擇Android2.3.3

Configure SDK

確保“Target Device”選項設定成模擬器,然後點選“finish”完成。

4、使用AVD測試部署安卓應用

首先使用預設的Android2.3.3 AVD。

在IntelliJ的選單欄上,選擇”Run’>‘Edit Configurations…”,找到”Target Device”,在”Prefer Android Virtual Device”選項上選擇”DefaultAVD233″。

然後執行這個安卓應用。過一會就可以看到虛擬器視窗顯示”Hello World”資訊。

要用Intel AVD來執行應用,就選擇”IntelAVD233″。

讓人興奮的是,模擬器啟動的速度(包括從IntelliJ點選”Run”到顯示”Hello World”資訊到模擬器上)發生了改變。下面是我用筆記本(Intel i3 380M、3GB RAM)記錄的大致時間:

  • DefaultAVD233:1分7秒
  • IntelAVD233:35秒

哇,這樣的提升(大約快了50%)是在還沒有調整其它引數的情況下得到的。

相關文章