As an happy owner of a Nokia N900, I am really disappointed it does not support JavaME applications. Really strange from Nokia which Symbian OS is a reference for Java mobile applications.
Indeed it is a real market trend: neither Apple nor Google choose JavaME despite its great specifications, security aspects and features (3D, positioning…). I guess the main reason was the royality fees to distribute JavaME to end-users.
So to get access to Android market applications, I have looked for a way to run the Dalvik virtual machine on stock Linux and then on the N900 Maemo system.
Since Canonical announces concerning a proof of concept of a running Android on Ubuntu, no news, no how-to, no patches published ! Even from the main author of this hack. Does Google disagree seing its open source system run elsewhere than dedicated devices ?
Of course, I am not interested in running Android in the qemu-based emulator for ARM image, which is so slow I do not understand how a developer may comfortablely test its applications except on a real device. In comparison, Nokia Maemo SDK is just perfect as the system and applications run native on Linux x86 platform.
Building Android for ARM is just piece of cake on a Linux x86 (in my case in a Debian Lenny 32 bits chroot) but it is less obvious when setting target to x86.
The main difficulties to get Android native applications run on a standard Linux distribution come from its optimizations for embedded devices
- the specific static linker, in replacement of the standard ld-linux
- the kernel device /dev/binder for IPC calls. Here are the openbinder-x86-linux2.6.27.tar for recent Linux kernel (x86 32 bits only)
- and the framebuffer display
Stay tuned to get details about job in progress.