By Paul


2016-03-12 15:09:46 8 Comments

I am working with React-Native, Android, and Genymotion on Mac. When I run react-native run-android I get this lines at the end of the launch operation:

...
04:54:40 E/adb: error: could not install *smartsocket* listener: Address already in use
04:54:40 E/adb: ADB server didn't ACK
04:54:40 E/ddms: '/Users/paulbrie/Library/Android/sdk/platform-tools/adb,start-server' failed -- run manually if necessary
04:54:40 E/adb: * failed to start daemon *
04:54:40 E/adb: error: cannot connect to daemon
:app:installDebug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: Timeout getting device list.
...

However, adb devices returns this:

List of devices attached
192.168.59.101:5555 device

So far I've found no solution to run my app on the emulator. Has anyone encountered the same issue?

Thanks, Paul

10 comments

@priyanga 2018-10-11 03:57:20

1.use custom sdk path in genymotion.(Suppose this one won't work means,Try to execute the second one)

2.Manually use this command to execute(SDK PATH/adb she ll am start -n/Package name/MainActivity).

C:\Users\AppData\Local\Android\Sdk/platform-tools/adb she ll am start -n com.example/com.example.ManiActivity

And try to run the application by using react-native run-android.

@Hoque MD Zahidul 2018-08-14 10:43:24

the adb version on your system is different from the adb version on the android sdk platform-tools . Below suggestion is work for me for Linux operating system

  1. check sys adb version run the below command

adb version

Android Debug Bridge version 1.0.39

  1. check sdk adb version

cd /root/Android/Sdk/platform-tools

./adb version

Android Debug Bridge version 1.0.32

  1. copy

rm /usr/bin/adb

[Note : the above command remove the existing adb then copy the adb from sdk/platform-tools directory ]

sudo cp /root/Android/Sdk/platform-tools/adb /usr/bin/adb

Then run the project using this command

react-native run-android

@Aldo RVV 2018-05-14 00:56:14

Maybe your adb versions are mismatching

Check:

adb version 

Then:

cd /Path/to/Android/Sdk/platform-tools && ./adb version

If these two are different you have an error here, just remove adb from sys and copy the one that is in platform-tools to /usr/bin/

@oldo.nicho 2018-07-08 13:47:29

Bonza! This sorted it for me

@cseelus 2018-04-05 16:15:57

If want to keep your system clean, you can also use Genymotion without Android Studio:

  1. Find Genymotion's copy of adb. On macOS this is normally /Applications/Genymotion.app/Contents/MacOS/tools/.
  2. Add the Genymotion tools directory to your path - execute/add the line export PATH=/Applications/Genymotion.app/Contents/MacOS/tools/:$PATH to your ~/.bash_profile or ~/.bash_rc.
  3. Make sure that you can run adb from your terminal.

(From https://docs.expo.io/versions/latest/workflow/genymotion)

@Cool7 2018-03-25 15:18:01

The steps worked for me are :

  • $ adb kill-server

  • $ adb start-server

  • $ cd android

  • $ ./gradlew clean

  • $ cd ..

  • $ react-native run-android

@Hoàng Vũ Anh 2018-09-05 04:56:15

yeah, it's work for me

@VocoJax 2017-09-21 14:39:28

I had a similar issue.

First, I uninstalled the app. Then, I pointed GenyMotion to the android sdk provided from Android Studio Next, I ran "adb kill-server" into the terminal. Finally, I re-ran "react-native run-android" and got a build success.

@Aleksandr Suhhinin 2017-08-10 05:53:24

I had the same thing while I tried to run from expo UI. Did the same things, as described in answers, but app was not running. When once tried run exp android from command line (in the project folder), application ran successfully and next times runs from Expo UI was successfully.

@espendennis 2018-07-20 09:49:59

This did it for me. Thanks a lot!!!

@Kyle s 2017-08-02 08:59:20

System: Windows 10

My issue: Setting Genymotion to point to the custom SDK didn't have any affect. I still received the:

Couldn't start project on Android: could not install smartsocket listener: cannot bind to 127.0.0.1:5037: Only one usage of each socket address (protocol/network address/port) is normally permitted. (10048) could not read ok from ADB Server * failed to start daemon * error: cannot connect to daemon

What I discovered was there was a difference in ADB versions being used throughout the system. Here is the command I used to find them:

where /r C:\ adb.exe

This produced the results:

C:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
C:\Program Files\Genymobile\Genymotion\tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb backup\adb.exe

Navigating to each directory and running:

adb.exe version

Allowed me to see that Expo was running ADB version:

Android Debug Bridge version 1.0.36
Revision fd9e4d07b0f5-android

While Genymotion using the custom SDK had version (c:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe):

Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android

As a test I took the adb files (adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll) from

c:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe

and placed them into a backup folder. I then moved the adb files located at

c:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe

into that same location. I killed adb with:

adb kill-server

which caused a restart of the adb server automatically due to having my Genymotion device already running. I hit the "Restart" button inside of the Expo XDE and it immediately began working. Here is the log where I hit the restart button at 1:13:04 AM:

12:45:53 AM
could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: Only one usage of each socket address (protocol/network address/port) is normally permitted. (10048)
could not read ok from ADB Server
* failed to start daemon *
error: cannot connect to daemon
1:13:04 AM
Restarting project and clearing packager cache (Hold shift while clicking restart to avoid clearing cache).
1:13:11 AM
Starting React Native packager...
1:13:17 AM
Scanning 543 folders for symlinks in C:\Users\kyle\git\betalog\node_modules (49ms)
1:13:17 AM
1:13:19 AM
Couldn't adb reverse: closed
1:13:20 AM
Project opened! You can now use the "Share" or "Device" buttons to view your project.
1:13:26 AM
Couldn't adb reverse: closed
1:13:26 AM
Downloading latest version of Expo
1:13:28 AM
Installing Expo on device
1:13:33 AM
Opening on Android device
1:13:56 AM
Building JavaScript bundle: finished in 59643ms.
1:14:01 AM
Dependency graph loaded.
1:14:03 AM
Your JavaScript transform cache is empty, rebuilding (this may take a minute).

Conclusion: Genymotion and Expo may need to use the same version of adb so that Expo can properly communicate with the simulated device. Pointing Genymotion to your android SDK location as well as ensuring Expo XDE has that same version will allow correct communication between devices. I moved the Expo XDE version to the SDK location, but you might be able to go the other way (take the sdk ADB files and place them in the Expo XDE resource location).

P.S. I've been all through the stackoverflow posts related to this issue. Just so you guys know my task manager shows three instances of adb.exe running. If you kill any of them they just come back.

Hope this helps /cheers

@Nguyen Vu Quang 2018-07-27 09:20:07

thank you! this issue takes me all day

@smj2393 2016-08-09 09:59:35

I am using genymotion, but Paul's solution alone did not fix the error (for Mac).

I had to:

Update Android SDK to the latest version (24.4.1) via the SDK manager

Type android in the command line

In the SDK manager find the latest SDK tools and install.

Once installed the SDK path should update the new SDK location like below.

enter image description here

Then update the $ANDROID_HOME to use the new SDK

export ANDROID_HOME=/usr/local/Cellar/android-sdk/24.4.1_1

export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Confirm it has been added by viewing your path with echo $PATH

Then in genymotion do what @Paul says above and point genymotion ADB to use the same sdk

enter image description here

@Orar 2018-02-28 17:41:14

It works for ubuntu 16.04. For some reason i thought $ANDROID_HOME/tools directory would not be necessary on the classpath. You need to add to connect to adb.

@Paul 2016-03-12 16:06:55

After more research I've realized that Genymotion uses by default its own adb.

enter image description here

I switched to my main adb (the same used by react-native) and it solved the issue. I guess that because Genymotion's adb was launched first I got the Address already in use error message.

@Simon 2016-03-19 08:44:43

Thank you for posting this. I nearly had a heart attack, i updated my android studios 2.1 to Preview 3 last night and genymotion will not connect anymore. This helped me to solve it.

@calclavia 2016-06-30 07:05:56

I tried this solution, but I still got the same error. Are there alternate solutions?

@Paul 2016-06-30 14:21:03

@user2254679 did you check this thread as well? stackoverflow.com/questions/5703550/…

@K Pal 2018-03-12 10:51:03

@Paul could you please elaborate on what path you are providing? where is this adb located which is used by react-native? I am trying to provide the path of my Android SDK but it is not working. in English would be best.

@Paul 2018-03-13 16:08:23

@KPal, the path is specific to your own setup. In my case it was the standard path from the Android installation in Mac at that time: /Users/$yourName/Library/Android/sdk. If you installed Android you should search for your path given the Android version / your platform.

@Fellow Stranger 2019-01-30 10:05:19

"I switched to my main adb" - what does this even mean?

Related Questions

Sponsored Content

2 Answered Questions

32 Answered Questions

[SOLVED] How can I connect to Android with ADB over TCP?

39 Answered Questions

[SOLVED] Error "The connection to adb is down, and a severe error has occurred."

1 Answered Questions

[SOLVED] Adb android conflict with Genymotion

22 Answered Questions

[SOLVED] Eclipse error "ADB server didn't ACK, failed to start daemon"

  • 2011-04-18 13:22:44
  • pengwang
  • 126909 View
  • 156 Score
  • 22 Answer
  • Tags:   android eclipse adb

8 Answered Questions

[SOLVED] Android error: Failed to install *.apk on device *: timeout

1 Answered Questions

adb server didn't ACK while working on MAC

  • 2016-06-22 10:09:15
  • RISHI KHANNA
  • 4195 View
  • 1 Score
  • 1 Answer
  • Tags:   android appium

1 Answered Questions

[SOLVED] Can't run ionic 2 app in Genymotion Android emulator

Sponsored Content