Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Studio error: cannot connect to daemon

I've been using AS for months, but since two days I get an error when I try to run my app:

Unable to run 'adb': null
'C:\Users\lapof\AppData\Local\Android\Sdk\platform-tools\adb.exe start-server' failed -- run manually if necessary
* daemon not running; starting now at tcp:5037
could not read ok from ADB Server
* failed to start daemon
error: cannot connect to daemon

I've read about a lot of people having this problem, but the solutions provided don't work for me. I read these questions in particular:

  • Daemon not running. Starting it now on port 5037
  • Android ADB - Daemon still not running
  • How to resolve the "ADB server didn't ACK" error?
  • Eclipse error "ADB server didn't ACK, failed to start daemon"
  • Adb won't start
  • How to resolve the "ADB server didn't ACK" error?
  • Daemon not running. starting it now on port 5037 * Cannot open 'nul': The system cannot find the file specified

A lot of answers to these questions say to close adb.exe from task manager, the problem is that adb.exe is not running and if I try to restart it by typing .\adb start-server on a PowerShell window I get the same error.

I also try to restart my PC but it didn't work. On the Android device I'm trying to connect to (Samsung Galaxy S8) I enabled USB debugging. I even tried to eliminate all the authorized devices, but nothing worked.

I checked if the 5037 port was used by other processes, but it is used by adb.exe (and the firewall state on that port is allowed and not limited). By the way, as I said, in the task manager adb.exe is not present.

Last I tried to follow the instructions provided in the last question I linked (basically I re-downloaded adb.exe). Initially I ran .\adb start-server and this strange error occurs:

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
** daemon still not running
error: cannot connect to daemon

and then when I try to run my app on Android Studio it occurs this new error when it tries to start adb:

Unable to run 'adb': null
'C:\Users\lapof\AppData\Local\Android\Sdk\platform-tools\adb.exe start-server' failed -- run manually if necessary
ADB server didn't ACK
* failed to start daemon *

and then if I try to .\adb kill-server and then .\adb start-server or .\adb devices or .\adb usb the same error occurs again. Moreover when I connect my device now it asks me to authorize my PC to connect.

I don't know if this can help, but lately I deactivated a lot of Windows services (but I don't think I deactivated something related to Android Studio).


Details

  • PC: Compaq
  • PC OS: Windows 10 Home
  • Device: Samsung Galaxy S8 (Exynos)
  • Device OS: Android 8.0
  • AS version: 3.0.1
like image 492
Lapo Avatar asked Sep 04 '18 20:09

Lapo


4 Answers

The solution which worked for me -

Open Command Prompt as administrator and type

adb start-server

That's it

like image 170
Payel Senapati Avatar answered Oct 18 '22 22:10

Payel Senapati


I had same problem a moment ago. I solved it:

Run CMD as Administrator

Enter adb devices to CMD.

The output for me is :

C:\WINDOWS\system32>adb devices
List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully
P9BCS87ABS9SCD5 device
like image 25
canmustu Avatar answered Oct 18 '22 22:10

canmustu


I solved the problem on my own.

Out of frustration I opened Control Panel > System and security > Windows defender firewall > Allowed applications and I added adb.exe (both private and public networks).

I came back to Android Studio, ran the app and magically it managed to initialize ADB and my phone connected via USB was there.

I don't really know why this worked, since when I checked in Start > All Programs > Accessories > System Tools > Resource Monitor > Network > Listening Port it said that on port 5037 the firewall was allowed.

Moreover I don't know why up to a week ago all worked fine and now I had to do this process to make it work.

If someone more experienced manages to explain this behaviour better I'll update this answer (or accepts his as best answer)

like image 26
Lapo Avatar answered Oct 18 '22 20:10

Lapo


Usually that's caused by the WinNAT service, restarting which solves the issue.

Just open the Command Prompt as Administrator, and type the following commands there:

net stop winnat
net start winnat
like image 8
Just Shadow Avatar answered Oct 18 '22 21:10

Just Shadow