Sunday 24 October 2010

So: this Android thing...

Y'know, one day I'm going to post regularly. When that happens, watch out for snowballs from the sun.

Anyway, I've been quietly porting Android 2.2 to one of the dev boards we have lying around recently and it's surprisingly nice; quite apart from all the hype, Froyo is a neat little embedded Linux which requires fairly minimal porting.

Things that particularly caught my eye:
  • It provides a sensible(ish) RPC system - if you haven't investigated Binder, I suggest it - it's a good complement to kbus.
  • A libc lighter than the leviathan that is GNU libc - and hacking bionic to reflect a new kernel is easier than you think, though you do have to play guess-the-header-file a bit.
  • A libstdc++ which is all you should ever want from an embedded Linux
  • Decent Java and Javascript implementations
  • A WebKit port
  • A decent screen manager (seriously: replace com.android.internal.policy.* and watch your windows go where you asked).
  • The build system is actually quite nice once you've got used to its oddities - likewise the ANT helper tasks. Admittedly, you do need to go hacking in the SDK and NDK before you even vaguely understand how they do what they do..
  • .. and a sensible and lightweight init.

Oh, and an SDK with eclipse support. There's little not to like - even the kernel patches are pretty sane and easy to apply once you've got your head around what they're doing.

Networking is, slightly unexpectedly, tricky - the device is pretty convinced it's a mobile phone so trying to persuade it that it has ethernet, DHCP and nothing else causes the odd argument. Also, multi-screen support is only semi-there in Froyo - I can see how to do it, but not how to do it nicely. Hopefully Gingerbread will go some way to solving this one.

The launcher seems unhappy about being made to run at 720p, but then it probably wasn't expecting that big of a display, so I'll forgive it.

Resource use seems reasonable - 88Mbyte for my 'doing nothing' Android. A bit high for a stripped embedded Linux, but not high enough to cause me pain. I'm thinking this is a good candidate for my favourite embedded Linux du jour

So: upward and onward.. hope people have fun at ELC this week - I made the decision to come along just after they'd sold out. D'oh.

No comments:

Post a Comment