connect to Raspberry Pi 3 using adb - android

How do I connect w/ adb to the Raspberry Pi 3 running Android Things?

Android Things for Raspberry Pi only support connecting to adb using adb-over-ip with the following command:
adb connect `<raspberry-pi-ip-address>`
You have multiple options to find your IP address depending on your Pi setup:
If your Pi is connected to Ethernet and a screen: it should show you its IP address on the Android Things launcher screen.
If you have a headless Pi connected to Ethernet: you can directly ping Android.local if you have mDNS/Bonjour support, or see https://learn.pimoroni.com/tutorial/raspberry-pi/finding-your-raspberry-pi for info on how to find your Pi IP address using third-party tools.
If you don't have any screen or Ethernet connection, you can connect a USB to TTL serial cable on the UART0 connector (see pinout and type the following command to connect to a WiFi network and get the Pi IP address:
am startservice -n com.google.wifisetup/.WifiSetupService \
-a WifiSetupService.Connect \
-e ssid '<NETWORK_SSID>' -e passphrase '<NETWORK PASSPHRASE>'
ifconfig

Follow the steps :
it worked with my version of Android [5.0]
Install ConnectBot
Install ConnectBot on your tablet which is an Android terminal emulator available from Google Play. It allows to SSH into the Raspberry Pi.
Configure the Raspberry Pi
You can perform those changes when connected via any method to your Raspberry Pi.
Add the following lines into your network configuration:
vi /etc/network/interfaces
allow-hotplug usb0
iface usb0 inet dhcp
When you would have already connected all devices, and you do not want to reboot, just restart the network:
/etc/init.d/networking restart
Connect your devices
Connect your Android Tablet to a Raspberry Pi USB port via a micro-USB cable. Power your Raspberry Pi with a standard USB power supply. You can use any DC USB power supply.
**Enable Android USB tethering
Enable USB tethering on your Android tablet.
*Settings → Connections → Tethering and Wi-Fi hotspot → USB tethering**
Now the Raspberry automatically gets an IP address via its USB0 port. The Android tablet behaves like a NAT router. This should work both when your tablet is connected to Wi-Fi or to a mobile 3G/4G network.*
Initiate an SSH login to the Raspberry Pi
Start the ConnectBot App on Android
Login to the Raspberry Pi via SSH
The only problem is that you have to know the IP address of the Raspberry Pi; it seems to be (always?) 192.168.42.159...
Network setup
This part has to be done by your self using your SSH and local network config.

Download a terminal emulator from Google Play (there are lots that are free). Make sure that your Android device is connected to your Wi-Fi and get the Wi-Fi IP address. Open the terminal program and type:
su
setprop service.adb.tcp.port 5555
stop adbd
start adbd
Now go to your computer (assuming that you are using Windows) and create a shortcut on the desktop for "cmd.exe" (without the quotations).
Right click on the cmd shortcut and choose "Run as Administrator"
Change to your android-sdk-windows\tools folder
Type:
adb connect ***wifi.ip.address***:5555
(example: adb connect 192.168.0.105:5555)
adb should now say that you are connected.
Note: if you are too fast to give the connect command it may fail. So try at least two times five seconds apart before you say this doesn't work.

Related

Can we do Flutter App Development Wireless ? Without connecting USB cable from Mobile to laptop?

We have to attach mobile with the laptop through USB cable during development. Because, often usb cable got disconnect and mobile connection got lost and again need to install whole App.
Is there any option do it wireless ?
through wifi or hotspot something ?
Yes, It is possible to wirelessly debug your application through adb over wifi.
Make sure your development machine and your device is on the same wifi network
Connect your device via USB
On console type : adb tcpip 5555
Disconnect USB and find the IP of your testing device (Settings -> About Phone -> IP Address)
On console type : adb connect YOUR_IP_ADDRESS
For future convenience you may assign a static IP address to your testing device on the router.
Pure WiFi Solution (No USB Cable Required)
In Android version 11 and later, you can connect ADB and test Flutter apps on your phone without a USB cable, using WiFi pairing.
Enable developer options on your device if necessary and go to "Settings -> System -> Developer Options -> Wireless debugging".
Enable wireless debugging and click on "Pair device with pairing code", which shows an IP address, port, and pairing code.
Run adb pair <ip>:<port> <pairing code> to pair with your device.
Go back to the main "Wireless debugging" settings, which shows your same device IP but a different port, and then run adb connect <ip>:<different port> to connect ADB to your device.
You should now see your device listed in the output of adb devices and flutter devices.
Deploy your app to your device by running flutter run -d <ip> in your app folder, where <ip> is your device IP from the previous steps.
(I have a phone that won't connect over USB for some reason, so I needed this. The official Google docs I linked to above don't mention the adb connect step, which caused me much confusion.)
First, connect your phone to the laptop with a USB cable and ensure that you are able to debug. Then type this in your terminal or powershell window-
adb tcpip 5555
Unplug the USB cable and ensure that you are on the same wifi network (hotspots will work as well). Go to Settings > About Phone > Status Information and find your phone's IP address in the IP address section. Assuming your IP is 192.168.1.3, type the following in your terminal-
adb connect 192.168.1.3:5555
Remember that you have to repeat these steps everytime you restart your phone
first you must download the SDK Plateform tools https://developer.android.com/studio/releases/platform-tools
and extract the file.
after extracting the file, open this file in cmd and run :
adb tcpip 5555,
adb connect your_ip_adress:5555 make sur you device is connected to the same wireless and the last command is
flutter run to run the app

Connect mobile device wireless on android studio for flutter

How to connect mobile device wireless android studio for flutter. I try every method but am failed. When i create emulator thy run very slow beacause I think Ram issue if any other solution please guide me thank u
You can connect mobile device and debug wirelessly but you need both your laptop and mobile on the same network(WiFi).
follow these steps:
Connect your mobile through a usb cable to the device and in the terminal run the command :
adb devices
Now you will see your attached device id, like this :
list of devices attached
RZ8N904WT6Y device
Copy the device id (RZ8N904WT6Y-in my case)
Now start the device in tcpip port, like this :
adb -s <device-id> tcpip 5555
Find out the local IP address of the Android device. You can find this information by pressing/long-pressing the WiFi icon in the quick settings drop-down and then clicking the WiFi network you are connected to
Type below command to connect to the device over WiFi:
adb connect <IP address>:5555
If the command ran successfully, you can now disconnect the USB cable and enjoy debugging over WiFi

Run/install/debug android app wirelessly but over its own portable hotspot

we know how to develop and connect wirelessly over Android phone to Android Studio.
Is there a way to connect to same mobile which internet we are using by making portable hotspot ?
Yes I have done it for long time. connect the laptop to you phones hotspot, then go to the about phone->status see the ip address and the connect mobile with laptop with usb cable and run command adb tcpip 5555 then adb connect <your ip addrss> Now you can disconnect your usb cable. Your mobile will be shown in the run dialog.
Note: you must have adb on your pc and its path declared in the environment variables.

Unable to use adb connect to enable wifi debugging

I was debugging my xamarin android app on Phone1 over wifi by connecting to xxx:xxx:x:xxx:5556.
I tried to debug the app over wifi on Phone2 where only usb debugging was the straight forward option.
The commands I had used to connect to Phone2 are adb tcpip 5555, adb connect xxx:xxx:x:xxx:5555.
Now I am trying to connect back to Phone1:
adb connect xxx:xxx:x:xxx:5556 and it is giving me the error:
"unable to connect xxx:xxx:x:xxx:5556:5555: cannot resolve host 'xxx.xxx.x.xxx:5556' and port 5555: No such host is known"
How can i resolve this?
Try this sequence of actions/commands in order to debug a USB host device over WiFi:
stop USB host
connect the USB debug cable
adb kill-server
adb tcpip 5555
adb devices
should show something like
List of devices attached
99679a67 device
find your device IP address and:
adb connect 192.168.14.94:5555
adb devices
should show something like
List of devices attached
99679a67 device
192.168.14.94:5555 device
disconnect the USB debug cable
adb connect 192.168.14.94:5555
should show
connected to 192.168.14.94:5555
adb devices
should show
List of devices attached
192.168.14.94:5555 device
Start USB host on the device, if needed. ignore if you just need WiFi debug
debug freely over WiFi
You have to run adb tcpip 5556 before running adb connect xxx:xxx:x:xxx:5556
Google just updated the feature and officially support wifi debugging from Android 11 onwards. Follow these steps to setup your device to build and debug wirelessly using your wifi connection:
On your Android 11 device, go to your Settings -> Tap on Advanced and go to the Developer options.
Then tap on Wireless Debugging switch, and always allow wireless debugging for your personal wireless network in the popup dialog
Then tap on the Wireless Debugging option and select “Pair device with pairing code” and it will give you a 6 digit code and IP address as you can see in the image
There are many ways of doing pairing the phone to your computer. For the simplest one, inside Visual Studio, go to Tools -> SDK Command Prompt and type the IP address and port from your phone above into the terminaladb pair {ipaddress}:{port}.
Then take the IP Address and port from the last screen and enter the following command adb connect {ipaddress}:{port}.
There’s a lot more details in this article Including limitations and a comparison with the iphone wireless debug feature

Run/install/debug Android applications over Wi-Fi?

I thought there was a way to test your applications in development over Wi-Fi. Is this possible?
I'd love to be able to untether my phone and develop wirelessly.
See forum post Any way to view Android screen remotely without root? - Post #9.
Connect the device via USB and make sure debugging is working;
adb tcpip 5555. This makes the device to start listening for connections on port 5555;
Look up the device IP address with adb shell netcfg or adb shell ifconfig with 6.0 and higher;
You can disconnect the USB now;
adb connect <DEVICE_IP_ADDRESS>:5555. This connects to the server we set up on the device on step 2;
Now you have a device over the network with which you can debug as usual.
To switch the server back to the USB mode, run adb usb, which will put the server on your phone back to the USB mode. If you have more than one device, you can specify the device with the -s option: adb -s <DEVICE_IP_ADDRESS>:5555 usb.
No root required!
To find the IP address of the device: run adb shell and then netcfg. You'll see it there.
To find the IP address while using OSX run the command adb shell ip route.
WARNING: leaving the option enabled is dangerous, anyone in your network can connect to your device in debug, even if you are in data network. Do it only when connected to a trusted Wi-Fi and remember to disconnect it when done!
#Sergei suggested that line 2 should be modified, commenting: "-d option needed to connect to the USB device when the other connection persists (for example, emulator connected or other Wi-Fi device)".
This information may prove valuable to future readers, but I rolled-back to the original version that had received 178 upvotes.
On some device you can do the same thing even if you do not have an USB cable:
Enable ADB over network in developer setting
It should show the IP address
adb connect <DEVICE_IP_ADDRESS>:5555
Disable the setting when done
Using Android Studio there is a plugin allowing you to connect USB Debugging without the need of using any ADB command from a terminal.
(No root required) There is one best, easy and with UI method for Android Studio
IntelliJ and Android Studio plugin created to quickly connect your Android device over WiFi to install, run and debug your applications without a USB connected. Press one button and forget about your USB cable.
just install plugin Android WiFi ADB
Download and install Android WiFi ADB directly from
Intellij / Android Studio: Preferences/Settings->Plugins->Browse Repositories
.
Remember! for first time to initialize the device you must have to connect using usb
Alternatively, you can download the plugin from the JetBrains plugin site and install it manually in: Preferences/Settings->Plugins->Install plugin from disk.
You can connect and manage your devices easily....... for more information read here https://github.com/pedrovgs/AndroidWiFiADB
If you want to enable wireless adb on the device without connecting with a USB cable at all (root required):
Install a terminal app on the device (like Android Terminal Emulator)
Type the following
su
setprop service.adb.tcp.port 5555
stop adbd
start adbd
Since you already have the terminal opened, you can find the IP address of the device:
ip addr show
Then in your debugging environment run command:
adb connect ip.of.the.device
This will make the device to be listed as any other emulators you might have. Note that the TCP will stay opened until you reset the device.
You might also want to install a Wi-Fi Keep Alive app if you often experience disconnects.
Remember to close the TCP when connecting to public networks if you want to feel safe. You can do the following or simply restart the device:
su
setprop service.adb.tcp.port -1
stop adbd
start adbd
Update :
Starting from Android Studio Bumblebee (2021.1.1) Stable, you can debug over Wifi just pairing the device by just scanning the QR code.
Quoting from the blog post :
ADB over Wi-Fi: Bumblebee includes a simplified flow to connect to
your Android 11 and higher devices over Wi-Fi for deployment and
debugging using ADB. After you enable debugging over Wi-Fi on your
device, select the Pair using Wi-Fi action in the Physical tab of the
new Device Manager to open the pairing wizard. Then follow the steps
provided to pair to a device connected over the same network. Learn
more.
Old post :
With new Android 11 you can debug your apps over WiFi without using an USB cable at all.
Quoting from Android Studio User Guide
Connect to a device over Wi-Fi (Android 11+)
Android 11 and higher support deploying and debugging your app
wirelessly from your workstation using Android Debug Bridge (adb). For
example, you can deploy your debuggable app to multiple remote devices
without physically connecting your device via USB. This eliminates the
need to deal with common USB connection issues, such as driver
installation.
To use wireless debugging, you need to pair your device to your
workstation using a pairing code. Your workstation and device must be
connected to the same wireless network. To connect to your device,
follow these steps:
On your workstation, update to the latest version of the SDK Platform-Tools.
On the device, enable developer options.
Enable the Wireless debugging option.
On the dialog that asks Allow wireless debugging on this network?, click Allow.
Select Pair device with pairing code. Take note of the pairing code, IP address, and port number displayed on the device (see image).
On your workstation, open a terminal and navigate to android_sdk/platform-tools.
Run adb pair ipaddr:port. Use the IP address and port number from step 5.
When prompted, enter the pairing code that you received in step 5. A message indicates that your device has been successfully paired.
none
Enter pairing code: 482924
Successfully paired to 192.168.1.130:37099 [guid=adb-235XY]
(For Linux or Microsoft Windows only) Run adb connect ipaddr:port. Use the IP address and port under Wireless debugging.
I found my answer here:
Connect Android device and adb host computer to a common Wi-Fi network accessible to both. We have found that not all access points are suitable; you may need to use an access point whose firewall is configured properly to support adb.
Connect the device with USB cable to host.
Make sure adb is running in USB mode on host.
$ adb usb
restarting in USB mode
Connect to the device over USB.
$ adb devices
List of devices attached
######## device
Restart host adb in tcpip mode.
$ adb tcpip 5555
restarting in TCP mode port: 5555
Find out the IP address of the Android device: Settings -> About tablet -> Status -> IP address. Remember the IP address, of the form #.#.#.#.
sometimes its not possible to find the IP-address of the android device, as in my case. so u can get it using adb as the following:
$ adb shell netcfg
and the should be in the last line of the result.
Connect adb host to device:
$ adb connect #.#.#.#
connected to #.#.#.#:5555
Remove USB cable from device, and confirm you can still access device:
$ adb devices
List of devices attached
#.#.#.#:5555 device
You're now good to go!
If the adb connection is ever lost:
Make sure that your host is still connected to the same Wi-Fi network your Android device is.
Reconnect by executing the "adb connect" step again.
Or if that doesn't work, reset your adb host:
adb kill-server
and then start over from the beginning.
The adb utility does have the ability to connect to a device over TCP/IP. However, adbd is not normally listening for TCP connections.
If you want to get it running, you need an engineering device (in other words, you need root). Then follow the directions in this post:
How can I connect to Android with ADB over TCP?
Since this only works on eng devices, it's not officially supported. Use at your own risk, expect bugs, etc.
For all , this , there exists a better method (EASIEST METHOD) :
1 ) A plugin for Android studio exits , called Android wifi ADB
2) Go to file -> settings -> Plugins -> Browse Repositories
3) Look for Android WiFi ADB , click on INSTALL , and then restart on prompt
4) You will see a new icon , which is your new plugin .
Now to make this work :
5) Go to your phone's developer option and enable DEBUGGING (must)
6) Also enable , ALLOW DEBUG OVER TCP/NETWORK
7) Attach your phone via USB , and make sure , both phone and your pc/laptop are connected to the same network (either hotspot or wifi)
8) CLICK ON THE NEW ICON (ie your ANDROID Wifi ABD)
9) Your phone get's detected and get's connected over wifi/hotspot , and hence now you may disconnect the usb . This is a one time process , hence you may not need to keep phone connected over usb .
This will save your phone from irregular charges and also , a remedy for short length usb cables .
In Developer options of Android 11, there is Wireless debugging. Make sure your laptop and phone under same network then execute 2 command below. Note that, the port for pair is different to the port for connect and you just need to pair on the first time (later you just need connect).
adb pair ipaddr:port
adb pair 192.168.1.6:42049
// will output
Enter pairing code: 696686
Successfully paired to 192.168.1.6:42049 ...
adb connect ipaddr:port
adb connect 192.168.1.6:37203
// will output
connected to 192.168.1.6:37203
Addition
These command will only work on android studio terminal, if you are in "platform-tools" directory. cd C:\Users\username\AppData\Local\Android\Sdk\platform-tools>
Install plugin Android WiFi ADB
Download and install Android WiFi ADB directly from Android Studio:
File > Settings->Plugins->Browse Repositories-> Android WiFi ADB ->Install ->Connect with cable for first time -> Click on "Connect" -> Now remove cable and start doing debug/run.
Check ss for your reference :
If you are using Android 11 click on the build version many times to activate the developer option then go to Settings>Advanced>Developer options. Scroll to debugging and turn on the "Wireless debugging" checkbox. Then open the menu debugging by touching the "Wireless debugging". Select "Pair device with paring code" and you will see the address for pairing with a pairing code. write this command in your desktop terminal to pair with your Android device.
adb pair 192.168.XXX.XXX:XXXX <--------- the address showing on screen under paring code
Use the paring code to connect.
But wait we are not connected to adb yet.
After you have successfully paired your device once. You can connect your adb anytime you turn on your Wireless debug option. To connect your adb every time before you use it from now on you don't need the pairing address anymore instead you will use the given address that shows when you enter the Wireless debug menu.
adb connect 192.168.XXX.XXX:XXXX <--- this address shows inside wireless debug menu
After a long search I found :
I must run
adb connect <device_ip_address>:5555
after disconnecting USB.
I wrote a shell script which can let you debug an Android device via Wi-Fi.
Here is the code:
#!/usr/bin/env bash
#Notice: if unable to connect to [ip]:5555,
#try adb kill-server then try again.
adb shell ip route > addrs.txt
#Case 1:Nexus 7
#192.168.88.0/23 dev wlan0 proto kernel scope link src 192.168.89.48
#Case 2: Smartsian T1,Huawei C8813
#default via 192.168.88.1 dev eth0 metric 30
#8.8.8.8 via 192.168.88.1 dev eth0 metric 30
#114.114.114.114 via 192.168.88.1 dev eth0 metric 30
#192.168.88.0/23 dev eth0 proto kernel scope link src 192.168.89.152 metric 30
#192.168.88.1 dev eth0 scope link metric 30
ip_addrs=$(awk {'if( NF >=9){print $9;}'} addrs.txt)
echo "the device ip address is $ip_addrs"
echo "connecting..."
rm addrs.txt
adb tcpip 5555
adb connect "$ip_addrs"
Following steps are standard ones to follow( mostly same as previous answers):-
adb tcpip 5555.
adb connect your_device_ip_address.
adb devices (to see if devices got connected).
But in some cases above steps gives error like "unable to connect to device. Make sure that your computer and your device are connected to the same WiFi network." And you notice the devices are already on the same network.
In this case, install this plugin "Wifi ADB Ultimate" and follow below steps.
Connect the device once through USB.
Refresh the list to check whether its connected.
Go to About Phone > Status > IP Address and note your IP address(e.g. 198.162.0.105).
Come back to Android Studio and fill in this IP as done in below photo and hit the run button.
Now, you are good to go!
To complete the answer of #usethe4ce, if you have more than one device or emulators, the adb tcpip 5555 will give error: more than one device/emulator.
In this case you need to give the serial number of the desired device:
adb devices
List of devices attached
33001229 device
emulator-5554 device
adb -s 33001229 tcpip 5555
Find your device's IP in my case I can find it from the device's wifi connected settings.
adb connect xxx.xxx.xxx.xxx:5555
For Windows:
Step 1. Make a batch file with the below commands and call the file w.bat.
Step 2. Copy the below contents in w.bat, and save it in any of the folders which are in %path% of your Windows system
echo ***Get phone in Wi-Fi mode***
echo ***Get phone in Wi-Fi mode***
adb devices
echo ***Remove cable from the phone now***
adb tcpip 9000
adb connect 192.168.1.1:9000
adb connect 192.168.1.2:9000
adb connect 192.168.1.3:9000
adb connect 192.168.1.4:9000
adb connect 192.168.1.5:9000
adb connect 192.168.1.6:9000
//<-- Till here -->
Step 3. Connect your phone and PC with a cable
Step 4. Ensure the phone is in Wi-Fi mode
Step 5. Remove the cable when the batch file tells you to
Step 6. Type w.bat on the Windows prompt (start -> run -> type CMD, press Enter) (black screen is Windows DOS prompt), if you copied it in one of the path folders then you can run from anywhere, else run from the folder where you created this file.
The output of the batch file will be something like this:
C:\Windows\System32>w
C:\Windows\System32>echo ***Get phone in Wi-Fi mode***
***Get phone in Wi-Fi mode***
C:\Windows\System32>echo ***Get phone in Wi-Fi mode***
***Get phone in Wi-Fi mode***
C:\Windows\System32>adb devices
List of devices attached
d4e9f06 device
C:\Windows\System32>echo ***Remove cable from the Phone now***
***Remove cable from the Phone now***
C:\Windows\System32>adb tcpip 9000
restarting in TCP mode port: 9000
C:\Windows\System32>adb connect 192.168.1.1:9000
unable to connect to 192.168.1.1:9000:9000
C:\Windows\System32>adb connect 192.168.1.2:9000
connected to 192.168.1.2:9000
C:\Windows\System32>adb connect 192.168.1.3:9000
unable to connect to 192.168.1.3:9000:9000
C:\Windows\System32>adb connect 192.168.1.4:9000
unable to connect to 192.168.1.4:9000:9000
C:\Windows\System32>adb connect 192.168.1.5:9000
unable to connect to 192.168.1.5:9000:9000
C:\Windows\System32>adb connect 192.168.1.6:9000
unable to connect to 192.168.1.6:9000:9000
Note 1: Find this in the output, (ignore all ->unable to connect<- errors)
connected to xxx.xxx.x.x:9000
If you see this in the result, just remove the cable from PC and go to Eclipse and run to install the app on the device; that should be it.
Note 2: DISCONNECT OR TO SWITCH WIRELESS MODE OFF: Type the below command. It should say restarting in USB mode - at this stage PC and computer should NOT be connected with a cable:
C:\Users\dell>adb usb
restarting in USB mode
Note 3: Steps to find the IP address of the phone (taken from Stack Overflow)
Find IP address of MY PHONE:
a. Dial *#*#4636#*#* to open the Testing menu.
b. In the Wi-Fi information menu: click Wi-Fi Status
c. Wi-Fi status can be blank for the first time
d. Click Refresh Status
e. In the IPaddr: <<IP ADDRESS OF THE PHONE IS LISTED>>
Note 4: My Phone Wi-Fi connection IP address range typically is as the mentioned IP addresses below,
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
Note 5: if you get any other sequence of IP addresses which keep getting reassigned to your phone, you can just change the IP address in the w.bat file.
Note 6: This is a brute-force method, which eliminates all manual labor to keep finding IP address and connecting to Eclipse / Wi-Fi.
SUCCESS Note 7: So in short, the regular activity would be something like this:
Step 1. Connect PC and Wi-Fi via a cable
Step 2. Start CMD - to go to Windows DOS prompt
Step 3. Type "w"
Step 4. Find connected command in the output
Step 5. Success, remove cable and start using Eclipse
Best and super easy way to do this is:-
Make a batch file :-
adb devices
adb tcpip 5555
adb connect 192.168.9.120:5555 ( Your phone ip xxx.xxx.x.xxx:5555 )
Place this file into your android sdk platform-tool folder.
Example:- C:\Users\'user_name'\AppData\Local\Android\Sdk\platform-tools
Right click file > sendto > Desktop(create shortcut )
That's it....
Now you just need to connect your phone through USB , then open desktop shortcut and disconnect your phone...
Though there are so many good answers, here is my two cents for the future me :P and for anyone who wants it quick and easy.
For Mac:
connect the device using USB first and make sure debugging is working. Disconnect any other devices and quit emulators.
open terminal and run the following script
adb tcpip 5555
adb connect $(adb shell ifconfig | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}' | cut -d: -f2):5555
disconnect USB connection and the device should be available for WiFi debugging
Explanation:
adb tcpip 5555 commands the device to start listening for connections on port 5555
adb connect $(_ip_address_fetched_):5555 tells to connect on port 5555 of the _ip_address_fetched_ address
where _ip_address_fetched_ includes following:
adb shell ifconfig getting internet configurations using adb shell
grep "inter " filter any line that starts with inter
grep -v 127.0.0.1 exclude localhost.
At this point, output should be like:
inet addr:###.###.#.### Bcast:###.###.#.### Mask:255.255.255.0
awk '{print $2}' get the second part of the components array, separated by space (I'm using zsh).
The output up to this point is
addr:###.###.#.###
cut -d: -f2 split the string by delimiter : and take second part. It will only take your device IP address
In Device Settigs-> "Developer options" -> "Revoke USB debugging authorizations".
Connect the device via USB and make sure debugging is working.
adb tcpip 5555
adb connect <DEVICE_IP_ADDRESS>:5555
Disconnect USB
adb devices
From search and from some answers i use this method and it work fine
and you must know that tcpip is not always 5555 , you must find it just follow this
you need first to download platform-tools
https://developer.android.com/studio/releases/platform-tools.html
extract platform-tools folder to C drive and run Powershell there (Right click >> PowerShell >> Open here)
#Connect phone with usb cable
PS C:\platform-tools> adb kill-server
PS C:\platform-tools> adb shell ip route > addrs.txt
#this give you your tcpip
* daemon not running; starting now at tcp:5037
* daemon started successfully
PS C:\platform-tools> adb tcpip 5037
restarting in TCP mode port: 5037
#Disconnect phone
#adb connect <phone_ip>:5037
PS C:\platform-tools> adb connect 192.168.43.1:5037
connected to 192.168.43.1:5037
Now you can see your phone in Android studio
>## open command prompt with Run as Administrtor ##
adb connect ipdevice:5037
The best way is using ADBConnect (Eclipse plugin) and ADB Wireless (app for Android device).
For Ubuntu / Linux:
Make sure your device is working for debugging: http://developer.android.com/tools/help/adb.html#Enabling
Go to your sdk folder and find the folder platform-tools
Use ./adb devices to list the connected devices. Make sure it is only one device connected and no emulator running.
Find your device IP address, you can find it in your device:
http://developer.android.com/tools/help/adb.html#wireless, or got adb shell like this: ./adb shell then netcfg. You will see a list of IP addresses. Find wlan0, in my case 192.168.100.3/2.
./adb tcpip 5555
Finally enter ./adb connect <Your device IP Address>:5555 in your terminal. You can now deploy the application to your device over Wi-Fi.
Note :- Android Phone must be rooted and no need of usb cable.
Install wifi adb in android phone from playstore
link :-https://play.google.com/store/apps/details?id=com.ttxapps.wifiadb
For Windows
I am using this technique , which is very easy.
1) download adb :
link : https://www.dropbox.com/s/mcxw0yy3jvydupd/adb-setup-1.4.3.exe?dl=0
2) Run exe :- when you see blue screen press y enter .
3) Now open your wifi adb apk , just grant root permission and must be remember you android phone and system on the same network by wifi or hotspot .
4) Open Wifi adb apk , you will get some ip address like , adb connect 192.168.2.134:5555
Note this ip may be very from system to system , now put this information to your command prompt and hit Enter .
5) Open cmd from anywhere enter adb connect 192.168.2.134:5555 .
6) Finally you successfully connected to adb . it will show message like
connected to 192.168.2.140:5555
For Mac Os
This is the easiest way and will provide automatic updates.
1)Install homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2)Install adb
brew cask install android-platform-tools
3)Start using adb
adb devices
4) Open Wifi adb apk , you will get some ip address like , adb connect 192.168.2.134:5555 Note this ip may be very from system to system , now put this information to your terminal and hit Enter .
5) Open terminal in mac os from anywhere enter adb connect 192.168.2.134:5555 .
6) Finally you successfully connected to adb . it will show message like connected to 192.168.2.140:5555
I hope its help you ,Thank You !
If you are a windows user and your android sdk is located at C:\Users\%username%\AppData\Local\Android\Sdk then you can follow this method. If your andoid sdk not located there, replace that path to the below code.
#echo off
"C:\Users\%username%\AppData\Local\Android\Sdk\platform-tools\adb.exe" disconnect
"C:\Users\%username%\AppData\Local\Android\Sdk\platform-tools\adb.exe" shell ip route > %temp%\addrs12321.txt
For /F "UseBackQ Delims==" %%A In ("%temp%\addrs12321.txt") Do Set "lastline=%%A"
FOR %%C IN (%lastline%) DO SET last=%%C
"C:\Users\%username%\AppData\Local\Android\Sdk\platform-tools\adb.exe" tcpip 5555
"C:\Users\%username%\AppData\Local\Android\Sdk\platform-tools\adb.exe" connect %last%:5555 > %temp%\adbresult.txt
set /p result=<%temp%\adbresult.txt
del /f %temp%\addrs12321.txt
echo MSGBOX "%result%" > %temp%\TEMPmessage.vbs
call %temp%\TEMPmessage.vbs
del %temp%\TEMPmessage.vbs /f /q
del %temp%\adbresult.txt /f /q
Step 1.
Turn on usb debugging,
Connect your phone to windows machine
select file transfer in usb options menu in android menu (if found)
Step 2.
copy above code
save as its extension like .bat, eg filename.bat
double click on the file you saved. done
note you can connect any time by running that file while the device
being connected with the pc with usb debugging is turned on.
One imp point probably missed here - once you do a adb remount - the TCP connection is lost hence you have to do a adb connect IP:port once over again
Connect the device via USB and make sure debugging is working. these steps are taken if you already have installed adb and set it's path in environment varialbe
open cmd and type the following
adb tcpip 5555
find the IP address with adb shell ip route
adb connect DEVICE_IP_ADDRESS:5555
Disconnect USB and proceed with wireless debugging.
I wrote a simple script for Windows:
Step 1. Make a batch file with the below commands and call the file wifi_dedug.bat and copy the below contents:
adb tcpip 5555
pause
adb shell "ip addr show wlan0 | grep 'inet ' | cut -d' ' -f6|cut -d/ -f1" > tmpFile
pause
set /p ip= < tmpFile
#echo %ip%
del tmpFile
#echo %ip%
adb connect %ip%
pause
Step 2. connect your device to pc.
Step 3. start batch file (key enter when requested)
Step 4. disconnect your device and deploy/debug via wifi.
1- For this I am considering you have already installed the latest version of Android studio. If not you can download it from here.
2 - You can set the platform tools path in environment variable (optional).
3 - Make sure your device and pc connected to same network.
plug in the data cable from pc to device.
Now, type adb tcpip 5555
remove data cable.
Then type adb connect 192.168.43.95
here 5555 is the port number and 192.168.43.95 is the ip address of the mobile device you can get id address from the mobile settings .
Then go to About device and go to status you can see the ip address of the device.
You can connect multiple device from different ports which can give ease in development.
Or you can go to this link for brief description with screenshots. http://blogssolutions.co.in/connect-your-android-phone-wirelessly-by-adb
Edit August 2021
Google removed it with ArcticFox Beta 03 https://issuetracker.google.com/issues/190411383 but in Android Studio Bumblebee it's still there. It looks like they have to much issues with it, that's why it's just in canary builds
Original post
This Android WiFi ADB plugin doesn't work in 4.1.1 (anymore)
But there is much more simple solution:
If you have an Android 11 (api30) device you should use Android Studio 2020.3.1 (Canary) to connect. It's super easy
Then you go to developer settings and scan QR code. That's it.
You can use connected device in other (older) Android Studio version now as well
Steps for Android Wifi debugging with ADB:
$> adb devices // check all usb debuggable devices connected.
$> adb -d shell // Access device shell.
shell> ifconfig // Check and copy wifi ip-address eg:192.168.1.90
shell> exit // Exit from android device shell.
$> adb tcpip 5000 // open TCP port 5000 (or any available)
$> adb connect 192.168.1.90:5000 // connect to device via wifi ip over specific TCP port.
$> adb devices // you will get debuggabled android device over wifi.
Required: Connect your android device to computer via USB with
developer mode enabled. Also connect your android device and computer
to same wifi router (or use tethering).

Categories

Resources