简体   繁体   中英

Can I run Android Studio (Android SDK emulator) in a Microsoft hyper-v virtual machine?

Can I run Android Studio and Android SDK emulator in a Microsoft hyper-v virtual machine? Please read carefully.

I already use Hyper-V a lot for other purposes. Now I need to develop a app for Android.

I've installed a new virtual machine (windows 10) and installed Android Studio. I cannot run the android emulator because it's lacking the 'intel HAXM software'.

I read a lot about that it's not possible to install Hyper-V NEXT to Android Studio, but non of the post actually say anything about installing in a Hyper-V machine.

Refer to this link: How to run Android Studio on Windows without disabling Hyper-V

The solution (if you do not want to disable Hyper-V) is to use Microsoft's Android emulator, which is a free download here .

In order to use this with Android Studio, you need to run the emulator first. Then, in Android Studio, go to Run > Edit Configurations... and select Show Device Chooser Dialog under Deployment Target Options.

Run your project, and select the VS Emulator, ignoring the invitation to “Turn off Hyper-V”.

Hyper-V added support for nested virtualization in the Windows 10 Anniversary Update (released August 2016) and Windows Server 2016. However, the only Microsoft-supported usage of nested virtualization is running Hyper-V within the VM, not HAXM. From the official documentation , "Virtualization applications other than Hyper-V are not supported in Hyper-V virtual machines, and are likely to fail."

That said, the change log for the latest release of HAXM reports that Intel "Fixed an issue with Hyper-V nested virtualization support, which had prevented Android Emulator from booting." So while it isn't supported by Microsoft, it seems running HAXM nested in a Hyper-V VM may be possible.

If that's the case, to get HAXM working in a Hyper-V VM, you will need to enable nesting for that VM. Run this command on the VM while it is in the OFF state:

Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true

After that, you should be able to install the latest version of HAXM within the VM, allowing use of the Android Emulator. Again, I haven't personally verified this, and it isn't supported by Microsoft, so your mileage may vary.

Full disclosure: I work at Microsoft on the Hyper-V team.

[Edit 7/2/2018]: Android Emulator support for Hyper-V acceleration was announced earlier this year, and is currently in preview. See the announcement post for details.

Microsoft posted a link to allow Hyper-V as hardware accelerator for android emulator run in windows.

The link is here

Here is the instructions.

  1. Enter About in the Windows search box.

  2. Select About your PC in the search results.

  3. Scroll down in the About dialog to the Windows specifications section.

  4. Verify that the Version is at least 1803 .

  5. Enter windows features in the Windows search box and make sure both Hyper-V and Windows Hypervisor Platform are checked.

  6. Open SDK manager in Android Studio, make sure your Android Emulator version is at least 27.2.7 .

  7. Restart your computer, and relaunch your Android Emulator in AVD Manager in Android Studio.

Confirmed : Running Windows 10 version 1803, with Hyper-V and Windows Hypervisor platform enabled, Android Studio's Emulator works. I am using Android Studio 3.2.1 and Android Emulator 28.0.22.

Just make sure before you start with the steps suggested by lotosbin you complete the following:

Open an admin command prompt and enter the following; then restart the emulator.

`reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Android SDK Tools" /v Path /d %localappdata%\Android\sdk`

Or update the registry manually:

  1. In regedit, navigate to HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node.
  2. Create a new key named Android SDK Tools(if not there already).
  3. Navigate to that key.
  4. Create a new string value named Path. Set its value to the location of your Android SDK, which will be like C:\\Users\\YourName\\AppData\\Local\\Android\\sdk.

Microsoft has announced a better solution

Today, at Build 2018, we announced a preview of the Google Android emulator that's compatible with Hyper-V, available on the Windows 10 April 2018 Update. This enables developers with Hyper-V enabled on their machines to use a hardware accelerated Android emulator, without needing to switch to Intel's HAXM hypervisor. Amazing work was done by the Windows Hyper-V team, with help from the Xamarin team, to make to this happen.

Just to complement @lotosbin's answer and add an additional information. This information is regarding when you are trying to start your app in Microsoft's standalone Android emulator from Android Studio.

On the Select Deployment Target window there are two sections namely:

  1. Connected Devices - It shows up physical android devices attached to your computer through USB port eg mobile, tablet if you want to deploy your app into an actual device
  2. Available Virtual Devices - It shows up Android virtual emulators which are build from specific device definition eg Nexus 5X API 28

Interestingly, Microsoft's Android emulator shows up in Connected Devices section. So Android Studio treats Microsoft's Android emulator as a physical device instead even though it is a virtual emulator only. Please see the screenshot below:

在此处输入图片说明

Additionally, you can check the health and current status of Microsoft's Android emulator inside Hyper-V Manager also as shown in below screenshot:

在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM