Android development for me so far has SUCKED

UghI 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.

UGH

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.

Update

Finally!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)…

  1. I removed my Eclipse installation and the Android SDK. I probably didn’t need to, but I did anyway.
  2. I downloaded and installed the latest Android SDK. I ran the android app (manager) and downloaded everything available for it.
  3. I downloaded the latest Eclipse installation and installed it. I removed my virtual device altogether.
  4. 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.
  5. I killed ADB for sure (./adb kill-server). In Eclipse I saw the connection attempts scroll by.
  6. Archos 28 put into USB debug. I made sure my Android app manifest has debug turned on. Charge mode only, no mounting.
  7. I rebooted the device.
  8. I ran ADB devices again and BOOM! There she was. Available for Eclipse app debugging.
  9. 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.

Related Posts Plugin for WordPress, Blogger...

5 thoughts on “Android development for me so far has SUCKED

  1. Mark Fuqua

    Try Air for Android…it uses Eclipse as well (sorry) but from a development perspective, it is quick and easy. Plus, by years end, you will be able to use the same code base for iOS and Blackberry. While you will have to compile separately (and iOS will not actually use Flash…thanks Steve), and tweak some code (different devices have different capabilities), the bulk of your applications will just work from one platform to the other.

    You can get a good feel for it now with Android. Dead simple.

    Reply
  2. Danel

    I have to actually agree with you when it comes to Android Dev. I have nothing against Eclipse, i think Eclipse as a multi-tool is actually pretty nice.
    Now, since im originally flashdeveloper, i also want to point out Mark’s comment, go for AIR.

    The sweet thing is that AS3 is pretty close to java/js and as he says, you wont be OS-tied. Since Flex 4 got support for iPhone it compiles a iPhone package to install on iPhones, not really same with Android since it only creates a package for Android and it still need AIR runtime to work. Its not the best solution but its ok since it WILL give more opportunities in future. Supposedly, iPhone wont :P

    Anyhow, dont hesitate to test out AIR.
    You can create applications for Blackberry, Android, iOS, MAC (as well DMG’s), Windows (as well EXE’s) and Linux. So you pretty much cover all possible OS-s :)

    Reply
    1. Eric Post author

      I’ve tested AIR and while on the surface it’s cool to be able to deploy it as an application to a mobile device, the Flash to iOS thing I have a big problem with (performance, relying on a magic secret sauce of behind-the-scenes wizardry, etc.)

      I really prefer going native if I can not only because all aspects of the OS will be available to me MUCH quicker, it will perform better, and I’ll be learning an environment that gets me to stretch my developer legs using a different platform altogether.

      That said, Android has gotten better, but it’s not on the same playing field for fun development as iOS has been for me.

      Reply
  3. YOU'RE A GENIUS

    This actually worked for me, with my Sony Tablet S1, i’m developing and debugging with processing for android and so far it runs all the sketches from the examples, thank you!.. BTW i did everything you said before that was written in other forums, but the actual solution came from where you state to modify the adb.ini file that’s inside .android directory, you can acces this file in linux by pressing CONTROL + H so the hidden files will be visible, or through the terminal by doing cd ~/.android and adding the ID vendor , for my case is 0x054, thank you again it worked for me on Linux Mint 10 Julia.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *


five + 3 =

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>