2

ADB in Android 4.3 SDK implemented -a option. What I want is:

adb -a start-server

so the background process is bound to all interfaces, but it does not work. I need to start it like this on Windows. I have managed to start the server in foreground mode with the following command:

adb -P 5037 -a fork-server server

(copied it from Linux)

Is there any proper way of achieving the same?

2 Answers 2

4

This is a bug in the current implementation. Although adb has the -a flag, it doesn't forward it to the daemon when it launches it, so the daemon still only listens on localhost. Until this is fixed, launching the daemon in the foreground seems to be the only solution.

Another improvement would be to keep the command server on localhost, but to allow adb forward to bind to all ports. I guess I should open a bug for that.

3
  • 2
    Just to add to the answer, this is the command to start it in foreground: adb nodaemon server Commented Jan 20, 2016 at 13:36
  • 1
    This is really a solution. Checked and launching server in foreground with adb -a nodaemon server really makes it listen on all ports (while -H and -P arguments seem to be respected by adb in the client mode only). As of version 1.0.36, adb client still doesn't forward the -a option to the daemon. Also, running in foreground is a good thing in itself if you want to launch it using init system like systemd.
    – skozin
    Commented Oct 3, 2016 at 23:29
  • ADB 1.0.41 still have this issue, adb -a start-server doesn't makes adb server listen on all interfaces, it listens localhost only.
    – hldev
    Commented Apr 10, 2022 at 23:09
2

The only way of doing this is recompiling adb as explained here: http://rxwen.blogspot.com/2009/11/adb-for-remote-connections.html You can also use the precompiled binaries from that site..

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .