最近 Android 2.0 新推出 Emulator 比過去的效能好很多,所以就從用 Genymotion 改回用 Google 的 Emulator,但是在開發的時侯,發生一個小問題,在我的 Mac 上面沒辦法同時間開多個 Emulator,會出現以下錯誤訊息:
emulator: The memory needed by this VM exceeds the driver limit. HAX is not working and emulator runs in emulation mode
在 OSX 的解決方案如下:
找到 Android SDK 裡面的 android-sdk-macosx/extras/intel/Hardware_Accelerated_Execution_Manager
資料夾裡面有一個 HAXM installation
執行檔,可以重新安裝 HAXM(Intel Hardware Accelerated Execution Manager),增加記憶體用量:
$ ./HAXM\ installation -m <最大記憶體使用量>
例如,我想同時間開啟 Nexus 5X,跟 Nexus 5P。這兩支各別都是 1.5 GB的記憶體使用量,所以需要把 HAX 增加到 3072MB:
$ ./HAXM\ installation -m 3072
安裝完成之後就可以同時開兩個 Android emulator 了: