I'm having Samsung Galaxy S phone.
I want to debug my application, which needs internet connection.
can I debug my app with android device, sharing the PC internet connection through USB?
I can not use WiFi.
Please help me out. Thanks in advance
Getting the internet from your PC to your android device is called reverse tethering. It is tricky cause it s not a built in feature. Some solutions exist if your a linux user :
http://blog.mycila.com/2010/06/reverse-usb-tethering-with-android-22.html
Previous link is dead, found a copy there:
https://web.archive.org/web/20120320173806/http://blog.mycila.com/2010/06/reverse-usb-tethering-with-android-22.html
Don't know if it's still relevant the question is old considering Android lifetime.
If you are not, well I never find a way.
There are two current (2019) tools that do this job well:
gnirehtet
This project provides reverse tethering over adb for Android: it allows devices to use the internet connection of the computer they are plugged on. It does not require any root access (neither on the device nor on the computer). It works on GNU/Linux, Windows and Mac OS.
It's written in Rust and Java; you can choose the server component. It requires adb on the host, and at least Android 5.0. The device itself will then be managed by the program.
SimpleRT
Reverse Tethering utility for Android.
Allows you to share your computer's internet connection with your Android device via a USB cable
This one requires no adb and no rooting, but you have to build the Android APK file yourself or download a release version.
Related
My MacBook computer battery is broken and somehow it has not enough power to power device by usb-c adapter so I cannot connect anything and only have to use android emulator. But I need to debug on real device while testing some ocr sdk that obviously don't want to recognize anything in android emulator virtual scene. I asked other question about that but still I am puzzled by this inability to use WIFI for usb debugging because sdk runs fine on my phone but to debug using fabric and APK deployment is really horrible dev experience and productivity.
Is there some way I can setup WIFI debugging without cable at all... Maybe I need to root my device but again how to do it without cable, it seems impossible either way. I feel in like in dead and but still asking question here. I have computer and phone but cannot connect them for debugging by wifi.
Afraid I don't have an easy wireless solution. The closest thing I could find is that android wearables may have a debug over bluetooth feature, but it's built to route through another (wired) android device.
There is likely a feasible wired solution though- you can hook the device to a powered hub and the hub to the computer.
You could also use an adapter of sorts. They were built for printers and such before everything came with wifi and could get a proper wireless setup going without either side realizing they aren't directly connected over USB (OS still knows that some funky usb drivers are loaded and a separate application may need to run to connect), but again more hardware. A decent Wireless "USB Device Server" seems to run ~$100 while wired ones are cheaper, but not as cheap as a powered usb hub.
If you have another machine, you can use it to enable wireless debugging on your Android phone. See https://developer.android.com/studio/command-line/adb#wireless. Once wireless debugging is enabled, you can connect to it from your Mac without using USB. You still need USB for enabling wireless debugging though, but you can do it from a different machine. This should work on all Android phones, root is not required.
Update [2021]:
Things have developed since this question was asked. WiFi Debugging is a first class option now on newer devices. See https://developer.android.com/studio/run/device.html#wireless for details.
I've done a lot of research about rooting a device but I can not even come up to this point because my phone is not recognized by windows 8.1 at all.
My intention is to establish a usb-connection between an android-device(Samsung GT-I9506) and a pc in order to use it for phonegap. Some other devices properly work collaboratively with phonegap but this one seems to refuse all attempts.
Important points:
1. The device is charged up when connected to a pc.
2. Use-Debugging is enabled
3. All drivers are installed, furthermore it's a Samsung PC and Phone
A related topic is this one: USB connection issues
But unlike the problem in the topic above my phone does not appear in the adb-list when entering:
adb devices
I plugged my phone into another pc(Windows 8.1) as well where it was not recognized either.
Thanks in advance.
If your system installed Android ADB Interface Driver then only you can see your Device in IDE.
You can check that
Go to Control Panel
Go to Device Manager
And find Android Phone like
It turned out that the usb cable was the reason for broken communication between pc and phone.
Strange enough that this faulty cable was able to load the phone but unable to establish a communication channel to other devices.
And the moral of this story is a usb cable of a smarthphone might be faulty even if other electrial supplies are still intact.
I read many articles on how we can launch an Android emulator faster.
I found this SO post where user286101 said that he "can load the app over wifi onto the real device in a fraction of the time".
My question is : how can I load an application, from Eclipse, to my real device through wifi ?
Regards.
I believe you must connect adb to your device using the command line: adb connect <host>[:<port>]. Then Eclipse will adb your device over WiFi.
Check out the adb docs.
This is adb wireless : http://www.appbrain.com/app/siir.es.adbWireless
butt your phone has to be rooted
I do it all the time via dropbox.com takes just a matter of seconds.
Just move the .apk to your dropbox folder and then open it from your device. This will work for both wifi and 3G.
In addition to bytebender's suggestion, you can transfer your apk with kies air as well, and run it by locating it with your Android's file browser. It's not exactly launching from eclipse, but this is what I had to do because I didn't have an OEM usb connector and the 3rd party (cheap) ones I had weren't connecting to my PC. I couldn't get the adb method to work. My phone does not have ROOT access.
I'm thinking to develop a PC desktop program to get application setting from android phone, install/uninstall apk application, sync photos/videos/music and display a web content.
Initial thought is to use .Net to write desktop program and shell ADB tool to do installation and file copy on android phone. However seems like advanced feature of ADB only works on a rooted android phone.
Is there an communication interface between windows and android system? Based on an app called "Android Manager" by Mobile Action, it seems that it can pull out what apps are installed on the phone but seems like this cannot be done by ADB alone without root access.
I would like to do the transfer of information using USB cable. Any thoughts where to research on? Thanks much
If you want to use the USB cable you can only use ADB, but you can use ADB to set up a socket between your pc and the mobile device. Both sides can then connect to this socket and use it to transmit data.
I've been able to find a few posts on StackOverflow about how to control USB devices using an Android phone -- which I understand is impossible (The Android being a USB device and all.)
However, I would be perfectly happy to set up my application to communicate with the other computer (a Linux host) as a USB device. (Like a really expensive mouse...)
Does anybody have information about how to set up an Android app/phone to use the USB connection and exchange data with a host computer. Obviously, it already works at some level -- it's how Eclipse and Android SDK/debugger do what they do, but I'm still looking for some way to do this in an application.
(My current phone, BTW, is a Droid Incredible.)
Thanks,
R.
Basically you'd need to install the USB device driver and the ADB toolsuite from the SDK, either that or reverse engineer their functionality and build it into something else.
Then you enable USB debugging on the phone.
And then you can do something like an adb port forward to allow an application on the pc to connect to a network socket listener on the phone. Note that connections cannot be made in the other direction, but once a connection is made it is bidirectional.
If your version of android supports tethering over USB, you could also leverage that to implicitly create a network between the PC and the phone, at which point you can make connections in either direction. Just make sure nothing starts accidentally pumping lots of data through the phone's mobile network!
(Many android phones actually can experimentally function as USB hosts, but you have to compile new drivers into the kernel, install the new version, and make up a cable to provide USB power to the device as the phone cannot. Also you lose the ADB over USB channel which makes debugging a pain)