“Mobile software company Myriad Group announced J2Android, which will make it possible for Java-based mobile applications to run on Android-based phones, the company said on Monday. The J2Android tool converts existing Java applications, including games, to run on Dalvik, which is the virtual machine used on all Android devices. Besides converting the application, J2Android will let the application be rescaled to fit the screen of the Android device, according to Simon Wilkinson, CEO at Myriad. It can also add softkeys, if the original application was developed for phones with a numerical keypad, Wilkinson said.”
I’m guessing this thing will be priced too high for the average indy software developer, but it’s definitely good news for big J2ME software houses and for the Android phone owners who will undoubtedly be inundated with a treasure trove of newly-ported J2ME apps (in particular games).
As a free of charge solution I can recommend my open source project MicroEmulator that allows converting Java ME applications to Android. More details are here: http://microemu.blogspot.com/2009/08/converting-javame-applications…
Wow, thanks for the info!!
all that great java software with it’s amazing interfaces.
Crappy-looking J2ME interfaces are mainly due to a lack of effort on the side of the phone manufacturers. Technically there’s no reason an Android phone couldn’t display J2ME widgets to look totally native. My P1i manages it just fine.
I always wondered why android doesn’t provide a J2ME stack out of the box. It shouldn’t be such a big task, right?
Not so easy actually.
1) The java virtual machine on Android is nothing like the standard one (both binary code and principle). A new virtual machine needs to be created, just adding interfaces for J2ME is not enough.
2) J2ME implementations are not opensource, so google has two choices: create its own opensource variant or relicense a commercial one (no source code).
There is a possibility: add J2ME interfaces for android and recompile (or translate) the applications (on the fly, at install time, on first use…).
Another problem is how android handles the files in high level. For what I know (I don’t have android), it doesn’t expose the file system, but offers a kind of services framework where apps can register for a type of file (existing types like photos, or new ones like pdf or whatever the app uses).
This is not a technical problem, because you can use native development kit to access the file system, but it is a usability (consistency) problem.
Anyway, could the J2SE OpenJDK’s implementation be “technically” recompiled to run on top of Dalvik VM?