I really want to like developing for Android. It’s one of the new “in” things in the technology world that I live in. I also believe in expanding one’s capabilities, not resting on just a few development environments and languages. So after having expanded my core skill set, it was on to Android.
Coming to Android from iOS development was probably the wrong way to do things just from a sanity point of view. Things for iOS for the most part “just work”. Provisioning, building for the device, debugging on a device, the speed of the emulators, etc. It’s all polished and sweet and doesn’t get in your way. Then there is Android.
If you got yours to work you are either a computer scientist with a PHD in magic or you were just lucky.
I have YET to have ADB recognize my Android device (for testing it’s a Archos 28 internet tablet). Eclipse is a nightmare. Supposedly if one edits the manifest for debugging, and USB debugging is turned on for the device, Eclipse is supposed to bypass the emulator and go to the device. Right there things feel weird. Perhaps Debug As or Run As would work for targeting a device explicitly, but since my ADB won’t see my device (OS X so there should be no driver issue).
I’ve added the 0x0e79 to my adb_usb.ini file. Nadda. I’ve tried everything I’ve found online in the forums where OODLES of people are having difficulties getting ADB to see various devices on various platforms. It seems like a convoluted mess. If you got yours to work you are either a computer scientist with a PHD in magic or you were just lucky.
The emulator for Android is the worst I’ve ever seen. It’s running on a desktop – any reason it has to be so slow and unresponsive? Right now it’s the only option that I have and I know it has to be worse in the emulator than on an actual device. This dinky, cheap hardware device runs apps better than the emulator. That’s just wrong.
If I can ever get this to work properly I’ll probably start to come around to the platform. The whole XML layout thing to me is a headache, but I get parts of why it can work well. Eclipse I pretty much can’t stand, but it’s better than using TextMate, etc.
So I think I may just scrap everything I’ve done to this point – deleted my SDK. Delete Eclipse. Try to start from scratch and see if I can get anything rolling.
There should be a freaking wizard for this if one has to worry about drivers, device IDs in .ini files, SDKs, etc. Right now it’s all put me off and made me unproductive as a developer until I sort it all out.
Well, I somehow managed to stumble on getting ADB and Eclipse on my Mac to work properly. It took all of about seven hours. Seven frustrating hours of seemingly useless toil. In the end I just wanted to get it working to get some small sense of accomplishment from that mere task. What I did to get things to work (as well as I can remember it properly)…
- I removed my Eclipse installation and the Android SDK. I probably didn’t need to, but I did anyway.
- I downloaded and installed the latest Android SDK. I ran the android app (manager) and downloaded everything available for it.
- I downloaded the latest Eclipse installation and installed it. I removed my virtual device altogether.
- I used TextWrangler (it sees invisible files) to open the .android folder in my Home directory, and edited the adb_usb.ini file (adding 0x0E79 on it’s own line) because that’s the id Archos says to use for the Archos 28 internet tablet). I believe that this was key in the whole process. I had done it before, but I didn’t reboot the device in the previous iteration.
- I killed ADB for sure (./adb kill-server). In Eclipse I saw the connection attempts scroll by.
- Archos 28 put into USB debug. I made sure my Android app manifest has debug turned on. Charge mode only, no mounting.
- I rebooted the device.
- I ran ADB devices again and BOOM! There she was. Available for Eclipse app debugging.
- I feel tired from all the forum reading, strange solutions online that I tried, nearly giving up, etc.
So now that I am on even soil in regards to development for Android (a long journey just to saddle up to the starting line) I’ll be able to better evaluate development for the platform. Note that this wasn’t a very good start of the journey, but maybe there will be vistas and good places to eat along the way.