加速你的安卓模擬器,讓開發(fā)更迅速
我看到一篇文章聲稱:使用英特爾的硬件加速執(zhí)行管理器(HAXM)驅(qū)動(dòng)可以對(duì)安卓模擬器進(jìn)行加速。這讓我很興奮,所以決定去驗(yàn)證這個(gè)說(shuō)法。這篇博文就是我驗(yàn)證的過(guò)程。
我使用的工具:
- Andorid SDK r20.0.3
- Intellij Community Edition 11.1.3
根本上說(shuō),這個(gè)特別的“加速”來(lái)自Intel一個(gè)特別的“x86 Atom System Image”,這個(gè)東西利用HAXM驅(qū)動(dòng)可以讓模擬器有更好的表現(xiàn)。在這里我不會(huì)重復(fù)一些技術(shù)的細(xì)節(jié),你可以進(jìn)入下面的鏈接查看更多信息。
警告:這個(gè)技巧僅在Intel的硬件下實(shí)現(xiàn),而且需要同時(shí)啟用“Virtualization Technology for Directed I/O (VT-d)”(一般通過(guò)BIOS進(jìn)行設(shè)置)。
此外, “x86 Atom System Image”目前(這篇博客發(fā)布的時(shí)候)僅支持下列安卓版本,2.3.3 (Gingerbread), 4.0.3 (ICD)以及4.1 (Jelly Bean)
在開始前,請(qǐng)將環(huán)境變量ANDROID_SDK_HOME設(shè)置為對(duì)應(yīng)Android SDK的根目錄。這樣可以避免許多令人頭痛的問(wèn)題。
執(zhí)行步驟:
- 通過(guò)Android SDK Manager下載并安裝相關(guān)的包。
- 創(chuàng)建一個(gè)安卓虛擬設(shè)備(AVD)。
- 在IntelliJ CE里建立一個(gè)Android Module Project。
- 用AVD測(cè)試部署安卓應(yīng)用。
1、通過(guò)Android SDK Manager下載相關(guān)的包
啟動(dòng)SDK Manager并確認(rèn)下面的東西已經(jīng)安裝就緒:
- Intel x86 Atom System Images(下面顯示的是Android2.3.3版本)
- Intel x86 Emulator Accelerator (HAXM)
接下來(lái),你需要手動(dòng)安裝HAXM driver。在Android SDK的根目錄下,找到extras\intel\Hardware_Accelerated_Execution_Manager,執(zhí)行
IntelHaxm.exe進(jìn)行安裝。
2、創(chuàng)建一個(gè)安卓虛擬設(shè)備(AVD)
啟動(dòng)AVD Manager并創(chuàng)建兩個(gè)配置相同但安卓版本不同的AVD:
- DefaultAVD233 – Android 2.3.3 – API Level 10
- IntelAVD233 – Intel Atom x86 System Image (Intel Corporation) – API Level 10
3.在IntelliJ CE里建立一個(gè)Android Module Project
在IntelliJ里,新建一個(gè)Android Module類型項(xiàng)目。
在”Android SDK”下選擇合適的Android platform。你需要指向你Android SDK下的根目錄才能選擇合適的構(gòu)建版本,如下圖所示選擇Android2.3.3
確保“Target Device”選項(xiàng)設(shè)置成模擬器,然后點(diǎn)擊“finish”完成。
4、使用AVD測(cè)試部署安卓應(yīng)用
首先使用默認(rèn)的Android2.3.3 AVD。
在IntelliJ的菜單欄上,選擇”Run’>‘Edit Configurations…”,找到”Target Device”,在”Prefer Android Virtual Device”選項(xiàng)上選擇”DefaultAVD233″。
然后運(yùn)行這個(gè)安卓應(yīng)用。過(guò)一會(huì)就可以看到虛擬器窗口顯示”Hello World”信息。
要用Intel AVD來(lái)運(yùn)行應(yīng)用,就選擇”IntelAVD233″。
讓人興奮的是,模擬器啟動(dòng)的速度(包括從IntelliJ點(diǎn)擊”Run”到顯示”Hello World”信息到模擬器上)發(fā)生了改變。下面是我用筆記本(Intel i3 380M、3GB RAM)記錄的大致時(shí)間:
- DefaultAVD233:1分7秒
- IntelAVD233:35秒
哇,這樣的提升(大約快了50%)是在還沒(méi)有調(diào)整其它參數(shù)的情況下得到的。
原文鏈接: javacodegeeks 翻譯: hanson