2018-11-14

AVD (Android Virtual Devices) 如何有效在 AMD cpu (Ryzen) 中運作…

之前的文章有說過我最近換一台 AMD Ryzen 7 2700x 的電腦…

之前的文章也有說過我最近在玩 Flutter …

今天要來說說 Android Studio 中的 AVD 要怎麼運作在 AMD Ryzen 的環境中。

之前我寫在玩 Flutter 時,我 2700x 的還沒買,所以我是用我 Intel i5-4460 的機器在跑的,所以基本上 Android Studio 沒什麼狀況發生…


但讓我用 2700x 在建立了 AVD Google Pixel2 run on Android 8.1 x86 時會出現下面狀況…
「Emulator: emulator: ERROR: x86 emulation currently requires hardware acceleration!」
「Emulator: Process finished with exit code 1」
白框中的錯誤資訊的重點就是指「requires hardware acceleration」,也就是需要硬體加速的支援…但 cpu 是 amd 呀,不是 intel 就不能用 HAXM 呀…(註:如果 bios 沒啟用 cpu 虛擬化功能,也會出現上述的錯誤)

後來看了一下 android studio 官方 blog 在 2018/07/09 所寫,新版本的 android studio 可以透過 Hyper-V 來讓 amd cpu 啟用 android x86 image 在 avd 上…有以下要求
  • AMD 處理器:建議是 Ryzen
  • Android Studio 3.2 beta 或更新的版本
  • Android SDK v27.3.8 以上的版本(應該是指 Android 8.1 以後的 image)
  • x86 AVD (跟 Android SDK 配合)
  • Windows 10 April 2018 Update (應該是 1803 以後的版本)
  • 利用「Windows 功能」來啟用「Windows Hypervisor 平台」(下面會講到)
  • 在 bios 打開虛擬化功能,Intel→VT-X、AMD→SVM (補給我自己知道的,因為我就忘了)
所以,使用「Windows 功能」﹙可以在「程式和功能」的左手邊找到﹚來 Windows Hypervisor 平台,如下圖:
打勾後按下「確定」,等進度跑完後就先重開機,開完機後再從 android studio 來運行 avd 就可以正常啟動了

沒有留言: