[Android] Android 學習筆記:啟用模擬器的硬體加速

[Android] Android 學習筆記:啟用模擬器的硬體加速

最近才發現模擬器有硬體加速的功能,

沒有用真的是虧大了,因為原本的模擬器真的很慢~~

在 Android Developers: Using the Android Emulator 這邊,

就有詳述要如何開啟硬體加速,下面就來試試看吧~

 

1. 將 eclipse 升級到最新版本

eclipse > Help > Check for Updates 點下去,確認所有東西都已經升級到最新版了~

 

2. 安裝最新的 SDK Tools、x86 image 和 Intel 硬體加速程式

開啟 Android SDK Manager,安裝 Android SDK Tools 和 SDK Platform-tools 最新版本~

 

另外要下載 Intel x86 Atom System Image,

這是專門給 x86 PC 使用的影像,會比 ARM 模擬的快~

這邊可以自己選擇 Android 的版本,

不過並不是所有的版本都有 x86 image,要比較新版的才有~

 acce4      

 

3. 啟用 Intel 硬體加速

上一步中下載的 Intel Hardware Accelerated Execution Manager, 

會被放在 SDKextrasintelHardware_Accelerated_Execution_ManagerIntelHaxm.exe,

執行它就可以安裝好硬體加速程式(應該只對 Intel CPU 的電腦有用吧?!)

安裝好後可以用 sc query intehaxm 確認驅動程式有在執行中~

acce3  

 

4. 建立 AVD

之前有下載 x86 image 的話,在 CPU 這邊就多出了 Intel Atom (x86) 的選擇了~

acce1

 

同時啟用 GPU 加速~(不過開啟的話就不能用 snapshot 囉,不知道為啥不能並存)

acce2  

 

5. 啟動 AVD

執行時可以看一下視窗,確認硬體加速有在運作中,

在我的模擬器上有寫 HAX is working and emulator runs in fast virt mode 的訊息~

acce6    

 

下面來測試一下硬體加速的效果吧~

在我的電腦上,開啟模擬器到看到手機螢幕畫面:

使用 ARM image,無 Intel 與 GPU 加速 => 175 秒

使用 x86 image,無 Intel 與 GPU 加速 => 180 秒

 

怪了,用 x86 image 反倒還變慢了… =_=

不過如果打開 Intel 加速,就不一樣囉~

使用 x86 image,使用 Intel 加速 => 20 秒

 

哇~真的是快很多,

不過開機變快了,進到手機裡操作,好像還是頓頓的…

把 GPU emulation 打開好像也沒什麼差別,

結果用命令列執行時,發現了以下的錯誤:

「Could not load OpenGLES emulation library: Could not load DLL!」 

gpu_1

 

上網找了一下,有人說把 SDKtoolslib 這個路徑加入 PATH 環境變數裡,

試了一下也的確可行,執行時就沒有錯誤了~

開機的速度還是一樣 20 秒,不過操作起來順很多,

不會有之前頓頓的感覺了~~

gpu_2  

 

覺得模擬器很慢的人,也可以試試看加啟硬體加速有沒有幫助喔~~ ^^

 

 

 

(本頁面已被瀏覽過 264 次)

4 thoughts on “[Android] Android 學習筆記:啟用模擬器的硬體加速

  1. 首先 先謝謝大大分享
    我照著大大的教學用
    基本上確認haxm driver有running
    再開emulator 也有跑HAX is working and emulator runs in fast virt mode
    也多跑一個 open audio input failed …
    不過emulator 卻是開不起來 會一直卡在 android 一直無限循環
    看logcat 主要跑的錯誤是
    07-08 06:27:42.440: E/BandwidthController(3207): runIptablesCmd(): failed /system/bin/ip6tables -N bw_INPUT res=768
    07-08 06:27:42.460: E/BandwidthController(3207): runIptablesCmd(): failed /system/bin/ip6tables -A bw_INPUT -i lo –jump RETURN res=768
    可以麻煩大大幫忙解決嗎
    我google都查不太到解決方式….

  2. 你好,我想請問一下,我把我的專案做成apk檔,放在手機上執行,
    但跑起來速度很慢,請問有沒有什麼解決的方法?
    p.s.用空機測試跑起來還是很卡
    版主回覆:(10/16/2014 04:19:52 PM)
    嗯…我想可能要先確認一下是你的手機的問題,還是 apk 的問題…
    – 同樣的 apk 在其他人的手機跑起來,速度如何?
    – 在你自己的手機上,跑其他的 app 也會卡卡的嗎?
    先確認一下是哪邊的問題,才好繼續找原因囉~

發表迴響

你的電子郵件位址並不會被公開。