Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

android connect to PC's localhost when debugger on mobile device

Tags:

I want to debug my android application, I connect the android device to my PC using the USB cable. In my application there is a button to connect with localhost, ip for localhost is 10.0.2.2 and the port is 8080, I have read that when debugging on mobile, the ip 10.0.2.2 is the localhost for android device and not for my PC, so what changes should I make to the ip instead of 10.0.2.2? or do I have to make another change? In this case my android device is sony ericsson xperia arc s.

like image 762
William Kinaan Avatar asked Jul 04 '12 11:07

William Kinaan


2 Answers

Google has added support in Chrome 29 and higher to use reverse port forwarding to access a website hosted on your local development machine through the USB cable on Chrome for Android. Setup instructions can be found at the following URL:

  • Android Remote Debugging - Reverse Port Forwarding
  • Tools for Web Developers - Access Local Servers

As of desktop Chrome 30 Reverse Port Forwarding is no longer an experimental feature in Chrome. It can be accessed by typing about:inspect in the address bar of your PC, and by clicking the "Enable port forwarding" check box and clicking the "Configure port forwarding" button located to the top right of the window.

Once that is done, connect your mobile device via USB. Open Chrome on your mobile device to localhost:8000 (or whichever port you have configured on your local server).

The Reverse Port Forwarding functionality will make sure that your Android device now sees your PC's localhost.

like image 53
J.Hogan Avatar answered Oct 25 '22 19:10

J.Hogan


As 10.0.2.2 is your system (pc)'s local host address (from emulator only). Actually android doesn't recognized localhost in url. so 10.0.2.2 is for that meant. Also for android device loopback address is 127.0.0.1.

Your url with 10.0.2.2 is correct. Also you can use Static IP of your system.

Just check for

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 

in your application's manifest file.

EDIT:

Here you are using port 8080 so, try with adb command on your host machine.

adb forward tcp:8080 tcp:8080 

Also please elaborate on this line "i want to debugger my application on my mobile".

Note:

If you are going to test on real device use your Network IP of system (PC).

like image 22
user370305 Avatar answered Oct 25 '22 19:10

user370305