I wrote a few months ago that I was working on building some Android development chops for a potential upcoming project. Things went well until I actually did something (tried to deploy my code to my LG device). Xamarin Studio simply refused to recognize my phone as a debugging option.
I prayed, and asked for prayer. I tried everything on Windows and OS X I could think of or find online. I restarted both the computer and the phone, unplugged and replugged, swapped cables, checked boxes, unchecked them, and then rechecked them, installed drivers, installed apps that (falsely) claimed they could solve my problems, posted on forums, asked all my friends that I thought might be able to help, all to no avail.
Desperate to make progress, I tried to use the Android emulators, which my programming mentor had repeatedly warned me against. True to his foreboding statements, they drained my system’s resources and returned almost no usable performance at all.
This went on for about a month, during which time I made no real progress whatsoever toward becoming a mobile app developer. Every time I found a spare moment to sit down and try to learn something, I was stumped. I just couldn’t learn anything about writing apps if I couldn’t run my code.
Then yesterday, while I was working on the Udacity Android Development for Beginners, I finally got to the section of the course where you debug your first Hello World app on your device. I followed their instructions to the letter, but my device still wouldn’t even show up. I googled again (like I had done so many times before), but this time, I found this StackExchange thread.
Whenever I plugged my phone in, it prompted me to choose a connection method, but I had only tried MTP and PTP per the suggestions of other threads and forums, and had never thought to try the internet connection mode (lame excuse, I should have tried all the options the first time I had trouble). I restarted Android Studio, unplugged the phone and plugged it back in, and selected the internet connection option.
Time to move on ;).