Add Windows Android Environment Variables Manually. Add Mac Android Environment Variables Manually. Add Windows Android Environment Variables Manually. To manually set the Android environment variables for a Windows computer, do the following: Click Start. Right-click Computer, and then select Properties. Click Advanced system settings.
Is included with Android Studio. Versions of the emulator prior to 25.3.0 were distributed as part of the Android SDK Tools. To ensure you have the latest version, check the for updates. For Android Emulator versions prior to 25.3.0, see the. For details of bugs fixed in each release, see the. 27.3.8 (July 2018) This update includes several new features, improvements to existing features, and bug fixes.
![Mac Mac](/uploads/1/2/5/3/125390705/468892722.png)
Snapshots You can now save multiple AVD snapshots for a given device configuration and choose which of the saved snapshots to load when you start the emulator. Starting with Android Studio 3.2 Canary 13, each device configuration includes a control in the advanced settings in the Virtual Device Configuration dialog with which you can you can specify which AVD snapshot to load when starting the AVD. To accommodate this expansion of the snapshot features, we have added a Snapshots category to the Extended controls dialog. This new pane contains controls for saving and loading AVD snapshots, including the controls for saving and loading the quick-boot snapshot that had previously been in the Settings pane. You can edit the name and description of each saved snapshot. For details, see.
HAXM 7.2.0 HAXM 7.2.0 is now available in all channels. This update includes bug fixes and improved support for large amounts of RAM. Also, with this HAXM update and Emulator 27.3 and later, snapshots load their contents into RAM on demand rather than loading the entire snapshot when the virtual device starts. This change should greatly decrease the time needed to load a snapshot.
For details, see. 27.2.9 (May 2018) This update includes several new features, improvements to existing features, and bug fixes. Screen recording You can now record video and audio from the Android Emulator and save the recording to a WebM or animated GIF file.
The screen recording controls are in the Screen record tab of the window. Tip: You can also open the screen recording controls by pressing Control + Shift + R (Command + Shift + R on Mac).
To begin screen recording, click the Start recording button in the Screen record tab. To stop recording, click Stop recording. Controls for playing and saving the recorded video are at the bottom of the Screen record tab. To save the video, choose WebM or GIF from the menu at the bottom of the tab and click Save. You can also record and save a screen recording from the emulator using the following command on the command line: adb emu screenrecord start -time-limit 10 path to save video/samplevideo.webm Screenshots You can take screenshots from the command line with either of the following commands:. screenrecord screenshot destination-directory. adb emu screenrecord screenshot destination-directory Screenshots are saved in PNG format.
Virtual scene camera and ARCore Developing and testing augmented reality apps (AR) with is now even easier with the new virtual scene camera, which allows you to experiment with your AR experience within a virtual environment. For information on using the virtual scene camera in the emulator, see. Google Play Store on Pixel device images The Google Play Store is now enabled for Pixel and Pixel 2 device images.
This is indicated in the in Android Studio 3.2 and later with the Google Play logo in the Play Store column. AVDs with Google Play Store enabled have a Google Play tab in the Extended controls dialog that provides a convenient button for updating Google Play services on the device. Snapshots You can now load a without restarting the emulator. To load a snapshot, open the window to the Settings page and click the Load Now button. We have made many improvements to the loading and saving of snapshots to improve efficiency of resource usage and to minimize the time that each operation takes.
If you still experience unusually long saves, please, providing details of your CPU, RAM, and settings of any antivirus / firewall / security software that is running. Rendering with Skia When using images for API 27 or later, the emulator can render the Android UI with, which can render more smoothly and efficiently.
For now, use of Skia requires that you explicitly enable it. To enable Skia rendering, use the following commands in adb shell: su setprop debug.hwui.renderer skiagl stop start Camera On Windows, Android Emulator now uses Media Foundation as the webcam back end, which greatly improves performance and frame rate for webcam capture, up to 720p 30 FPS. On Mac, you can now use webcam0 and webcam1 together.
Miscellaneous The -phone-number-prefix command-line option has been changed to -phone-number number, which allows setting of the full phone number. You can now use alphanumeric SMS addresses. Fixes. The Linux version of the Android Emulator is now built using a modern Clang C toolchain. This change fixes the issue of the emulator failing to start due to libGL and libstdc errors.
Fixed several causes of crashes and hangs. To avoid crashes and hangs caused by not having enough free disk space, the emulator now checks for sufficient free disk space on startup, and will not start unless at least 2 GB is free. Fixed an issue that prevented some Unity games from rendering. Fixed DNS issue that caused the emulator to be unable to connect to the network. Fixed an issue that caused changes to the internal storage allocated to an AVD through the Virtual Device Configuration dialog to not work. Fixed an issue of many adb processes being created and not properly shut down. Fixed an issue that caused the rotate buttons and other parts of the UI to become unresponsive unless the Extended controls window was open.
Fixed an issue that caused copy and paste from the host to not work unless the Extended controls dialog was opened at least once. The frameless emulator's resize rectangle has been updated to better follow the emulator's visual theme. Telephone and SMS are now properly deactivated when airplane mode is on. Fixed an issue that caused SMS and cellular functionality to be disabled after loading a snapshot. You will no longer receive false warning messages saying “Unable to open. Permission denied.”.
Fixed an issue that prevented re-positioning the AVD on some Mac screens. Fixed issues with flickering and blank screens on newer MacBook Pro computers when running AVDs with Pixel 2 XL skins.
Fixed issues with blank screens when switching into zoomed mode while a frameless emulator was active. Fixed an issue that caused the device skin and emulator contents to scroll out of sync when zoomed in. If you are still experiencing hangs or other instabilities, please. 27.1.12 (March 2018) This update includes fixes for the following issues:. Bluetooth audio quality degraded after starting the emulator.
Locations sent to one emulator were sent to all of them. GPS location set using the console was overridden by values set using Extended Controls Location in the graphical user interface. If you are still experiencing hangs or other instabilities, please. With this update, a current system image, and a preview version of Android Studio, you can use Android Emulator to run augmented reality applications built with ARCore. For detailed requirements and instructions, see.
27.1.10 (February 2018). Camera capture resolution 720p frames can now be captured from an attached webcam. To work with Android 8.1 (API level 27) and higher system images, any attached webcam must have the capability to capture 720p frames. Fixes.
Fixed an issue that caused webcam capture to sometimes output a distorted or all-green image. Fixed an issue that made it possible to see the following message even when there was no actual hang: 'emulator: ERROR: detected a hanging thread 'Qt event loop'. No response for 15000 ms'.
If you are still experiencing hangs or other instabilities, please. 27.1.7 (February 2018). Frameless emulator window: By default, emulators with device skin files are now shown without a surrounding window frame. To show the surrounding window frame, enable Show window frame around device in the Settings pane of the window.
Quick Boot improvements to make working with AVD snapshots more efficient:. You can save an AVD snapshot at any time using the Save Now button in the Settings pane of the dialog box. The emulator reduces the time that it takes to save a snapshot in many cases by saving only the difference between the current state and the previously saved snapshot. For details, see the documentation. The emulator has been updated to use QEMU 2.9. Some notable improvements include the following:.
Optimized I/O and finer-grained I/O thread locking for greater performance. Fixed bugs since QEMU 2.8 (26.1.4). New implementation of the HAXM back end. See the full list of changes in the. Swiftshader implementation conforming to OpenGL ES 3.0: The emulator's Swiftshader renderer now conforms fully with OpenGL ES 3.0.
For details of the Swiftshader renderer, see the Settings Advanced section of. Fixes. Fixed an issue where clipboard sharing was not working unless the Enable clipboard sharing option was toggled off and on. Fixed a hang when using the Swiftshader rendering back end with low-resolution AVDs. 27.0.5 (January 2018).
ANGLE for rendering on Windows is now disabled by default. If ANGLE works better for you, you can re-enable it with command line flag -gpu angleindirect. Or, open the Extended controls window, navigate to Settings Advanced, and select ANGLE D3D11 for the OpenGL ES renderer setting.
Fixed an issue where Shift+B does not type a capital B character. 27.0.2 (December 2017). New Quick Boot feature provides faster emulator start times, based on a snapshot of your AVD instance. Quick Boot is enabled by default for all AVDs.
Although the first time you start an AVD it must perform a cold boot (just like powering on a device), all subsequent starts are fast and the system is restored to the state at which you closed the emulator (similar to waking a device). If you want to control when the emulator saves a snapshot, open the emulator's and click Settings. Here, you can select one of the following settings for Save quick boot state on exit:.
Yes: Always save quick boot snapshot when you close the emulator. This is the default. No: Never save quick boot snapshot; always perform a cold boot. Ask: Prompt whether or not to save quick boot snapshot when you close the emulator. Your selection applies only to the currently open AVD. For more information, see the. Added support for Mac OpenGL ES 3 (for system images using API level 24 and higher, Google APIs, and the x86 ABI).
For added stability in OpenGL ES 2+ apps, emulator now uses OpenGL core profile if available. New options for rendering with Swiftshader / ANGLE:.gpu swiftshaderindirect: Faster, more stable variant of Swiftshader that works with Quick Boot.gpu angleindirect (Windows only): More stable variant of ANGLE D3D that also works with Quick Boot.
The older -gpu swiftshader and -gpu angle options are now deprecated. In the Extended controls window, the 'SwiftShader' and 'ANGLE' options for the OpenGL ES renderer setting in Settings Advanced now use the.indirect variants. Various other bug fixes. 26.1.4 (August 2017) This is a minor release with bug fixes and the following improvements to GPU configuration:.
![Free Free](https://i.stack.imgur.com/huJ5w.png)
Enable boot animation when running on ANGLE renderer. Disable GLES3 when running on ANGLE renderer 26.1.3 (August 2017) This is a minor release with bug fixes, performance improvements, and small feature changes. This version is now required to use the latest Android 8.0 system images.
They are, featuring separate vendor.img partitions. New HAXM 6.2.0 now available (check the SDK Manager) and includes the following updates:. Improved memory usage. The peak working set of memory pinned by HAXM is no longer equal to the size of the AVD's RAM; instead, memory is paged in on demand. This should help the emulator run more reliably on machines with lower amounts of RAM. The emulator with HAXM 6.2.0 can now boot faster on macOS, skipping a lengthy initialization phase.
Improvements to GPU configuration. Fixed issues with black screen on boot when performing guest-side software rendering by falling back to host-side software rendering with Swiftshader. Latest revisions of system images for API levels 19 - 25 with Google APIs should have working guest-side rendering. Fixed an issue where the emulator was switched to a software renderer due to detecting the presence of older Intel GPUs, but the emulator was actually running on a discrete GPU. Which GPUs will be switched to use ANGLE or Swiftshader rendering is determined as follows:.
Older Intel iGPUs have driver issues on both OpenGL and ANGLE D3D drivers. Users with Intel HD Graphics 3xxx and older will use Swiftshader. Some users reported the inability to use API level 25 images because of a bug in which 'Pixel Launcher keeps stopping.' This seems to be a driver issue in some Intel HD 4xxx models. So they will be switched to use ANGLE automatically.
For best results with GPU emulation, we recommend either to use a discrete NVIDIA or AMD GPU, or a newer Intel GPU (Iris, HD 5xxx, HD 5xx/6xx). Fixed an issue where the emulator would fail to start (OpenGL emulation failed to initialize) if the AVD was configured with hw.gpu.mode=host and the emulator was launched in a remote desktop client. Clarified 'OpenGL ES API level (requires restart)' settings; added an option to downgrade from OpenGL ES 3 to OpenGL ES 2 if experiencing issues or needing to test on lower OpenGL ES API levels. Mesa renderer is deprecated; hw.gpu.mode=mesa will now be automatically switched to use Swiftshader on the host. Improvements for macOS:. The emulator is now fully compatible with macOS 10.13 High Sierra through either Hypervisor.Framework or HAXM 6.2.0.
Hypervisor.framework is now enabled by default on macOS for 32-bit x86 images to improve performance and macOS compatibility. If you experience issues with it specifically, please file a bug report and append HVF = off to /.android/advancedFeatures.ini (create this file if it doesn't exist). Fixed issues with no internet / failure to attach debugger while using Hypervisor.framework. To enhance compatibility and performance of webcam capture, the QTKit-based camera capture has been replaced with a buffered one based on AVFoundation. Added support for Wi-Fi in some system images (currently only API level 25).
An access point called 'AndroidWifi' is available and Android automatically connects to it. Wi-Fi support can be disabled by running the emulator with the command line parameter -feature -Wifi. Some users raised the concern that the fixed-size Play Store system images did not have sufficient storage. As such, we've increased the size to 2 GB by default (up from 800 MB). Added a keyboard shortcut (Ctrl+Shift+U) to open the bug reporting UI page directly from the settings page. Fixed an issue where if an older CPU with Intel x86 EPT but without UG was used, the emulator would fail to boot if more than one core was configured.
Fixed an issue where HyperV would be improperly detected if the emulator was itself running in a Xen hypervisor. Fixed an issue where the emulator would crash on start in some Linux configurations. 26.1.2 (July 2017) This release includes new features and performance improvements. Added the ability to define a custom HTTP proxy configuration in the extended controls (click More, and then click Settings and Proxy).
By default, the emulator uses the Android Studio HTTP proxy settings, but this screen allows you to define a manual proxy configuration. Added VNC support for guest mode GPU so emulator can be remotely viewed and controlled. For example, you can launch the emulator and let VNC listen to port 5901 as follows:. Execute: emulator -gpu guest -avd avdname -no-window -qemu -vnc:1. Open a VNC viewer, such as tightvnc viewer, to connect to port 5901.
To use Mac's built-in screen sharing client, a VNC password is required when launching the emulator. To set a password, use this command: emulator -gpu guest -avd avdname -no-window -qemu -vnc:1,password -monitor stdio And then enter change vnc password into the console, and enter a password. Android O is not currently supported for VNC mode. Added a File a bug button in the extended controls Help screen (Click More, and then click Help and Emulator help). Clicking File a bug opens a dialog where you can see the bug report details such as the screenshot, the AVD configuration info, and a bug report log. You can then save the report for yourself.
Added gyroscope sensor to emulator and virtual sensors panel. This requires a system image with gyroscope support to work (currently API level 24 and 25). Added host-preferred DNS to Qemu DNS list on Windows, when multiple virtual network interfaces on the host introduce multiple DNS addresses which are not functional for the emulator. Added experimental macOS Hypervisor.Framework support for 32-bit x86 images on macOS 10.10+ through server flags, which should improve boot time and performance. If you experience problems with it, add the line HVF = off in /.android/advancedFeatures.ini.
OpenGL ES 3.x is now enabled by default for system images and host GPUs that support OpenGL ES 3. Currently, only Android O (API level 26) and Windows/Linux hosts support OpenGL ES 3. If you experience problems with OpenGL ES 3, add the line GLESDynamicVersion = off in /.android/advancedFeatures.ini. Emulator now uses offscreen OpenGL FBOs for all rendering except final display image posting, which should help with color consistency issues across platforms. After collecting data on sudden emulator slowdown issues, we have determined that the problem may have to do with some interaction between older Intel OpenGL drivers and Windows updates. As such, users with Intel HD 4000, 3000, 2000 (and related GPUs) now have rendering set by default to either a D3D renderer (ANGLE) or Swiftshader (software renderer). 26.0.0 (March 2017) This release is compatible with API level 26.
It also includes a number of performance improvements and bug fixes. Minor revision 26.0.3 (May 2017). Adds online-updateable feature flags for quickly addressing issues stemming from problematic hardware configurations. This allows Google to roll out fixes and features that are dependent on user configurations by updating server-side flags. If you notice issues with specific hardware, please so we can investigate the problem. New support for for Android Wear API level 25 system images.
To emulate the rotary input dial on a Wear device, click the Rotary Input tab on the extended window. The Crash Reporting dialog is now resizable and no longer resets When to send crash reports to Ask without input. The 32-bit emulator now requires that the maximum AVD RAM size be less than or equal to 512 MB, in order prevent the emulator from running out of room in the 2 GB virtual address space. Adds support for absolute paths in emulator images.
Adds a new tab in the extended window for Google Play Store images that displays the Play Services version and a button to check for updates to Play Services. Adds a dropdown to select the OpenGL renderer on the Emulator Settings page.
If you are experiencing issues with the OpenGL driver on a Windows machine, try using the ANGLE (D3D11) or ANGLE (D3D9) options (requires a restart). If you are experiencing issues with the OpenGL driver on a non-Windows machine, try using the Swiftshader software renderer (requires a restart). Fixes a rare crash on exit when the emulator receives both exit and minimize commands.
Fixes a scaling issue when changing displays on a Mac machine. Fixes an issue where the emulator takes 300% of the CPU and holds it after resuming the host computer from sleep or when the emulator has been running for a long time.
Fixes a crash when the emulator is shutting down. Updates with HAXM v6.1.1 (March 2017) Note: HAXM v6.1.1 is available for Mac users through the as of March 30th, and will be available for Windows users soon.
Version 26.0.0 of the Android Emulator supports HAXM v6.1.1, which includes the following updates:. Enables Performance Monitoring Units (PMU) emulation. Fixes coexistence with VirtualBox and Docker on Macs. Revises the installation error message displayed when the installer fails to detect Intel VT-x on Windows, usually because Hyper-V is enabled. Adds support for accelerating the Android Emulator in a Hyper-V-based Windows VM. This update requires that the host Hyper-V instance (the one that manages the Windows VM/guest) use the latest version of Hyper-V with nested virtualization enabled.
Hyper-V must be disabled in the guest Hyper-V instance (the Windows VM). Dependencies.
Android SDK Platform-Tools revision 25.0.4 or later. Android SDK Tools revision 26.0.0 or later. New features and bug fixes. Compatible with API level 26.
Fully GLES 2.0 compliant. Given a host GPU that has conformant desktop OpenGL drivers, the emulator now passes 100% of the Android CTS dEQP-GLES2. This has been released for API level 24 x86 images (revision 11 and higher) and will soon be included for all system images. Improved video playback performance. The emulator now stores all video color buffers in host/guest shared memory and performs necessary final YUV to RGB conversion in the GPU.
1080p30 should be well within reach of most systems now. This has been released for API level 24 x86 images (revision 11 and higher) and will soon be included for all system images.
The emulator now correctly unregisters itself from the adb devices list on exit and closes open TCP ports on Linux machines. adb connections are now more reliable. A running emulator is detected faster and doesn’t go into “offline” or “unauthorized” status anymore. 25.3.0 (March 2017) As of this release, the Android Emulator will be released separately from the SDK Tools. This release contains a variety of performance improvements, new features, and bug fixes. Minor revision 25.3.1 (March 2017). Fixed a crash occurring on some GPU configurations by disabling GLAsyncSwap by default.
This feature was added in 25.3.0 to improve frame timing and frames per second for games and video, but causes the emulator to fail on some unknown machine configurations. You can manually enable it by opening the androidsdk/emulator/lib/advancedFeatures.ini file and setting GLAsyncSwap = on. Dependencies. Android SDK Platform-Tools revision 24 or later. Android SDK Tools revision 25.3.0. New features and bug fixes. Updated emulation engine to QEMU 2.7, including all recent bug fixes, improved performance, and new features.
New IPv6 support. The emulator now uses SwiftShader as a pure software renderer on the host. Android Pipe performance improvements: Android Pipe, the main communication channel between the emulator and Android OS, is now an order of magnitude faster, has lower latency and offers better multi-threaded performance. This causes a number of performance improvements for the emulator, including:.
Improved ADB push/pull speed. Better 3D acceleration support. Increased overall responsiveness of the emulator.
Improved graphics performance. The emulator now uses GPU-side buffers (glBindBuffers / glBufferData) when the guest requests them, decreasing CPU overhead in some apps. Improved audio support.
Faster disk I/O: The emulator now uses separate threads to dispatch disk I/O, resulting in lower latency and better throughput (1.5x sequential I/O speed, 5x random access I/O speed). This also reduces the number of flushes to disk, resulting in much lower physical device load. The emulator now uses sparse files for disk boots on Windows machines, speeding up both first boot and 'wipe-data' boots. When creating or resetting an AVD, the emulator now writes 100-200 MB of data to disk, instead of 2 GB or more.
Various GUI enhancements:. The emulator now uses Qt 5.7.0, which includes bug fixes and performance improvements. UI initialization no longer attempts to load all emulator executables as Qt plugins, so it's dramatically shorter, especially on HDDs. UI interactions are now faster and smoother, including rotation, window resizing, and extended controls window loading and closing.
I'm also having this issue. I followed the instructions in the docs and got this error: couldn't start project on Android: could not install.smartsocket.
listener: Address already in use ADB server didn't ACK. failed to start daemon. error: cannot connect to daemon I then installed Android SDK by downloading it from Google's website and using the Mac OS X desktop installer. I then pointed Genymotion to that SDK. The same error occurs. I was unable to follow 's approach; the brew cask install android-sdk failed for me with a java exception (apparently my j2se runtime is the wrong version for some process in the android-sdk install script). Genymotion works otherwise (the simulator starts up fine); i have a fake Nexus 5.
Just no Expo on it;). I think Option 1 from the docs does not work for anyone as far as I could read on different threads. A more complete Option 2:. Install the android-sdk (via brew or Studio). make sure that which adb returns that particular sdk's path to adb. If it's installed via Android Studio on Mac, the path would be something like /Users/alice/Library/Android/sdk/platform-tools/adb.
Brew installs it somewhere in /usr/local/share/android-sdk. point genymotion to the newly installed SDK. add a genymotion virtual device and change the network to bridge.
start the virtual device, run a adb devices and see if the virtual device is running. That is different from the iOS experience where expo will open the simulator for you. click open on Android. I followed 's steps and I still get this error message on Expo: Couldn't start project on Android: could not install smartsocket listener: Address already in use ADB server didn't ACK.
failed to start daemon. error: cannot connect to daemon I am probably doing something wrong here though because I installed adb via brew, but I am pointing my path to '/mins/Library/Android/sdk' (sdk installed via android studio). I got a message of 'Android SDK tools found successfully'. Pointing it to the path that I got via 'which adb' - /usr/local/bin/adb, led to 'Android SDK not found at this location' Also is there any particular virtual device that we should be using or any virtual device would do? Don't know exactly but i tried many thing.
I struggled several hours to make it work. I am using Android SDK adb on Android Studio, Expo and Genymotion now.
I magically had some other adb in Expo folder, I replaced it with Android SDK adb to remove the last obstacle. Here is the detailed debugging process.
I tried to add export PATH=/Users/myuser/Library/Android/sdk/platform-tools:$PATH and export PATH=/Users/myuser/Library/Android/sdk/tools:$PATH and then source /.bashprofile in my project folder. This didn't work.
I typed which adb under the project folder, it showed usr/local/bin/adb. I went to usr/local/bin and found a shortcut for adb. That shortcut points to /Users/myuser/.expo/bin/adb.
I was pretty sure this expo adb was the criminal all the time. When I ran adb devices. I have the virtual machine on, but it gave me nothing.
I went to /Users/myuser/Library/Android/sdk/platform-tools folder, there was an adb file! This platform-tools adb is apparently what I should use. To verify it, I ran /Users/myuser/Library/Android/sdk/platform-tools adb devices, it gave me the ip and port of my virtual android device. So I made the conclusion, expo was using a bad adb. Adding platform-tool adb path didn't work probably because usr/local/bin is always in the $PATH. So I gave up on configuring adb path. Instead, I copy the platform-tools adb file to overwrite the expo adb.
No terminal command, just use Finder to open /Users/myuser/Library/Android/sdk/platform-tools folder and /Users/myuser/.expo/bin/, copy adb in platform-tools, paste and replace the adb in expo. Now everything works. And I am pretty sure you can also modify the usr/local/bin/adb shortcut to point to your platform-tools adb to make things work. I had the same problem but have not installed Genymotion and have not installed the SDK via homebrew. I'm just using the SDK installed by Android Studio and the standard emulator. Add the following export and paths to your shell config: export ANDROIDSDKROOT=$HOME/Library/Android/sdk export PATH=$PATH:$ANDROIDSDKROOT/tools export PATH=$PATH:$ANDROIDSDKROOT/platform-tools Remove the symlink added by xde: rm /usr/local/bin/xde Remove the binary in /.expo just to be sure: rm -rf /.expo/bin/adb Restart your terminal.
Then run: exp path (You will need exp installed yarn global add exp) Finally restart XDE ?. Tl;dr I think xdl should stop bundling adb binaries because version mismatches suck. Part of the problem is that xdl silently falls back to an out of date, bundled binary of adb that is likely a mismatch to whatever version you're running under Genymotion (whether bundled, installed by brew, or packaged with Android Studio). While this is laudable, it is also a recipe for confusion. Currently, adb will do a version check on the running daemon before executing any command. If the versions don't match, it will print a warning and then attempt to kill the running daemon and start itself in its place.
Sadly, the xdl-bundled version (1.0.32) prints an 'out of date' message to STDOUT. This was changed to and then later. Since xdl when something goes awry, none of us will see this message. If I simulate what xdl does while trying to connect to a running Genymotions emulator in my shell, I see the error.
/OSS/xdl$./binaries/osx/adb/adb reverse tcp:5037 tcp:5037 adb server is out of date. Error: could not install.smartsocket. listener: Address already in use ADB server didn 't ACK. failed to start daemon. error: cannot connect to daemon The 'adb server is out of date. Is on STDOUT and disappears when run by xdl. This will happen for anyone with a poorly configured PATH and modern SDK (which currently ships with adb 1.0.39).
In my testing, Genymotion will almost instantly restart the adb daemon when it exits. This is the race I'm seeing:. The xdl-spawned adb command will kill the Genymotion-spawned daemon.
Genymotion will restart the daemon. The xdl-spawned adb will attempt to spawn its own daemon, but fail to bind to port 5037. Depending on time slicing, 2 and 3 may run out of order. Usually you get the google-able message that brings us here, but sometimes you'll get an out of date adb that makes Genymotion unhappy. IMHO, xdl shouldn't package adb binaries since any revisions to the installed Android SDK will break xdl and its dependents.
Instead, I'd suggest throwing an error when ANDROIDHOME isn't set and/or adb isn't found in PATH. In the meantime, developers should make sure that the adb binary in your PATH is the one that matches your Android SDK. If you installed Android Studio from a package but didn't set up your shell, this is likely the case. It's not enough to have both Studio any Genymotion pointing to the same SDK: your shell (or however you run XDE or yarn start) must have the tools and platform-tools directories in the search path. Copying files around is unnecessary, and likely to break the next time you install a new SDK or upgrade Android Studio.