Is it possible to run Android Device Emulator (via

2020-02-10 02:36发布

问题:

I have been running Android Studio 1.5.1 doing development on a WMWare copy of Windows 2012 R2 and everything works fine. I've been able to run the device emulator with no problems and start various versions of Android running in AVD.

Android Studio 2.x Change I recently installed Android Studio 2.0 (see image below for exact version).

Now when I attempt to run the emulator nothing happens. Well, actually I do see a message in the status bar of Studio when I attempt to start the device, but then that message disappears and nothing happens after that.

There is a warning that I need to turn off Hyper-V (see image below), but I don't believe that is possible since this is a VM.

No Longer Possible?

Is it not possible to run the emulator on the VM any more?

回答1:

More recent versions of the Android Emulator require hardware virtualization support (Intel HAXM).

Unfortunately, most virtual machines do not provide HAXM instructions to the guest (a VM within a VM), so you will be unable to use the emulator within the virtual machine.



回答2:

I just installed Android Studio 2.1 on my Windows 2008 R2 VM (running VMWare) and I'm happy to report that it is possible to run ARM based AVD (Android Virtual Devices) on the VM.

Steps To Run Arm-based Virtual Device on VMWare

  1. Go to location where you've installed the Android SDKs (in my case it is at %appdata%\Android2\SDK\
  2. If you are in the right place you should see a directory structure and directories like the ones shown in the first image below.

  1. Start the AVD.exe by double-clicking it.

You will see a window like the one in the image below

  1. Take a close look and notice that this is running an ARM(armeabi-v71) image. When you download images you have to download ARM-based images. (no x86 images will work on VM).

  2. Also, you cannot start these images from AVD that launches from Android Studio 2.x

  3. Make sure you have an environment variable named ANDROID_SDK_HOME set to path which is similar to the one at the top of the AVD manager (in image).

Once you do all of this and start an ARM-based image on a VMWare VM it will warn you that it is faster with HAXM but at least the image will run.

Finally, you can see if you attempt to launch your Virtual Device from the AVD Manager in Android Studio then it will warn you that Hyper-V needs to be turned off. Of course you cannot turn Hyper-V off on a VM.

EDIT -- Running Android 7 ARM Image

@mcflysoft asked about running an android 7 ARM image. At first I didn't think it worked, but if you open up your SDK manager and install the exact ARM OS image shown in the following picture, it will run on a Windows VM:

ARM image Containing Google APIs

I tried installing the ARM image that contained the Google APIs and that one would not ever start. There were failures logged which I could see in c:\> adb shell logcat.

Beware : It Is Really Slow

However, running Android 7 seems extremely slow and I don't see a web browser. Not sure how helpful it may be to you, but you can get it working. Good luck.



回答3:

The simplest solution I've found so far is to use a device farm, for example Samsung's device farm: https://developer.samsung.com/remotetestlab/galaxy/rtlDeviceList.action#444

It's free to use and you can deploy your apps just like in an emulator (Right Click -> Test -> Remote Debug Bridge -> follow the instructions).

And since those are real devices, the speed might be even better than on an emulator on your personal PC.



回答4:

I've had the same problem so I'll post an answer in the hope that someone might find this useful in the future. I can run Android Studio in my VM but when I try to start up an emulator, I can't download an image due to "Your CPU does not support required features (VT-x or SVM)"

Although I didn't get a virtual device up and running, I got round the problem by using BlueStacks. You install BlueStacks on the VM. BlueStacks (at the moment) runs Android 7.1.1, SDK 25. Inside BlueStacks, go to Settings/Preferences and Enable Android Debugger Bridge (adb) following this set of instructions. Then you should be able to run your app on BlueStacks from inside Android Studio. Logcat can see any log statements from BlueStacks.

The alternative (without enabling the debugger bridge) is to locate the .apk file for your app and then open that with BlueStacks APK installer. Logcat still sees the traces.

It's slow on a VM. You also have to set android:testOnly="false" in your XML file