I'm working on integrating the Android software stack in OpenWrt. Much of the core of Android 1.5 is already running, but some work is still left to be done until it's usable.
Why am I doing this? Easy:
- OpenWrt is much easier to keep consistent across multiple platforms, because of the way it keeps kernel patches and configs (that's right, we don't fork entire kernel trees).
- OpenWrt allows you to integrate new packages by writing a small makefile and optionally throwing in some patches (which it also helps you create), so there's no need to fork the whole thing.
- OpenWrt allows you to shortcut parts of the build system, so you don't have to spend minutes (or hours, depending on your build machine's performance) waiting for a huge recompile just because you happened to change a core library, which forces a rebuild of build tools, which forces a rebuild of everything those tools generated.
My other goal is to keep the entire thing free of dependencies on external binaries where possible, and turn the Google-forked external libraries into OpenWrt makefiles and patches.