简体   繁体   中英

ddms: 'adb.exe,start-server' failed -- run manually if necessary, Android Studio

My adb is down, no matter I am using ADT or Android Studio.

And according to the second answer of this SO question , I did:

  1. I type:

     adb nodaemon server

    Output:

     cannot bind 'tcp:5037'
  2. Then netstat -ano | findstr 5037 netstat -ano | findstr 5037

    I did find a pid of 7416 who listen in 127.0.0.1:5037

  3. I use taskkill /pid 7416 -f to kill it.

  4. I type netstat -ano | findstr 5037 netstat -ano | findstr 5037 again, I found another pid listens at 127.0.0.1:5037 again!

I guess they are the same, but I have no idea who it is.

Can I simply have a easy way to release this port or change the adb port to another one?

In my case I was trying to use genymotion emulator device. With genymotion opened and running, I've tried to run my app in this emulator but I it doesn't worth

In this part I had this error:

'C:\Users\Jose\AppData\Local\Android\sdk\platform-tools\adb.exe,start-server' failed -- run manually if necessary

Then I've tried Jaskey's solution but it doesn't works.

So I stopped genymotion emulator. Then I restart ADB (Tools > Android > Unchecked Unable ADB Integration then I've checked again)

Next I've start genymotion emulator again And now the app works on the emulator.

Sometimes there are conflicts between ADB Genymotion and ADB SDK because both of them use the same port. So I recommend always set up ADB Genymotion to use the ADB SDK, in that way to avoid incompatible issues.

Genymotion-> Settings -> ADB -> Use custom Android SDK tools (here your set up your sdk android location). 在此输入图像描述

For Windows,

Close Android Studio and any of your Emulators you are using,

then goto->TaskManager and Kill the process(adb.exe)

After finishing all these First open Android studio followed by emulators.

I solve this problem at last! I finally found the program name of the pid and I kill it in the task manager.

The way to detect is described in the question:

  1. adb nodaemon server

Output:

cannot bind 'tcp:5037'

2.and then netstat -ano | findstr 5037 netstat -ano | findstr 5037 to find who takes this port.

Get the pid and find it in the task manager. Please note that the process tab may not show the column of pid, we should include it by setting.

In my case, it is tfadb.exe who takes this port! This is a Chinese Video program client! Try to kill it in task manager.

Now I stop it starting from booting. The problem is solved.

I solved by End task "adb.exe" background process from task manager. and Start adb thats it :)

打开Android工作室后打开Genymotion模拟器。

Just goto the task manager on your PC, and kill adb.exe, then back to your android studio. it should initialize and reconnect.

in my case one application on window use adb.exe.

that application name is mobogenie.

Fixed :: Goto Window TaskManager select adb.exe and press End process

disconnect any usb connected android devices. I was tethering to my laptop via my cellphone for internet connection. I got the adb start server failed error with loopback error "port is only used for one socket connection".

I disconnected my cellphone usb connection from my laptop and now android studio recognizes my genymotion emulator and another android device I have connected via usb in the deployment target box.

Close Android studio then go to Task Manager

  • End Task adb.exe
  • goto Details menu
    • End Task java.exe and jusched.exe

now open Android Studio it will work properly

The best and working solution is:

  1. Close Android Studio
  2. Open task manager
  3. Kill the process adb.exe
  4. Open android studio again
  5. Problem solved

如果genymotion或模拟器不工作尝试在您的系统中安装pdanet +并且移动设备选择您的移动类型(motorola,sony,other),它将自动安装驱动程序并在移动设备中运行您的应用程序。

Check the firewall of the system. May be the "allow app to communicate through windows firewall" may have blocked android studio.

I have tried all of the solutions proposed above, but no one of them solve my problem. I had some hour of hadaches trying to solve this problem on my laptop (Ubuntu 20.04). This is how I came to solve it finally.

The problem was that the adb default port 5037 was already taken by another, so the solution became simple:

  1. kill the process running on that port (5037) then launch the adb manually

  2. launch the adb on another port:

    user~$ adb start-server -P xxxx

    Where xxxx represent another port

There may be a problem with Windows 11. to solve that issue follow the steps

Go to the android studio app Right-click the app Go to Properties Go to compatibility Check the Run this program in compatibility mode Select windows version 10 or 8 or 7 Then apply and ok

After these changes start the Android Studio App, This is works for me.

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