User Tools

Site Tools


docu:tutos:android:adb_tcp_forwarding

Forwarding adb over TCP/IP (Mostly Wifi)

Today we are going to learn how to use adb tcp forwarding
to access an android phone shell (or screen) using multiple tcp/ip port forwardings

First, connect the phone via usb (this is needed) and issue:

# You can choose any port you want
adb tcpip 5557
 
# Save the phone ip somewhere
adb shell ifconfig

Once this is enabled, you can stop using the usb cable

To connect to the adb device by it's ip address:

adb connect [YOUR_PHONE_IP]:5557
# or disconnect later
adb disconnect [YOUR_PHONE_IP]:5557

You can now access the phone shell or screen via tcp/ip

adb shell
scrcpy # gui tool from genymotion to view the phone screen over adb


Forwarding adb over USB and TCP/IP

There can be a case when you want to use a device connected to a server by usb
You can do this easily by enabling tcpip mode on adb and forwarding the port.

First, on the server, enable tcpip on 5557, and forward on server to 5558

adb tcpip 5557
adb forward tcp:5558 tcp:5557

Check forward is working

adb forward --list

Now, on the client, you can use ssh forwarding to connect the phone shell or screen remotely!!!

ssh -L 5558:127.0.0.1:5558 [REMOTE_HOST]
adb connect 127.0.0.1:5558 # connect locally


To reset the tcpip state issue:

# If you just want to remove the forwarding but keep tcpip
adb forward --remove-all
 
# This will remove all forwardings and restart adb as usb instead of tcpip
adb usb
docu/tutos/android/adb_tcp_forwarding.txt · Last modified: 2020/02/07 12:48 by admin