Java ME on Android

microemulator.gifI often get asked if Android is ever likely to support Java ME rather than the Dalvik variant. These people usually have already made a significant investment in developing for Java ME. While the T-Mobile G1 doesn’t support Java ME, it’s possible that future Android phones might include a Java ME JVM because Esmertec is an Open Handset Alliance member.

However, there’s another possible solution being developed. Yesterday I wrote about how most Java SE code can be run on Android. Bartek Teodorczyk emailed me saying he is porting the Java SE version of MicroEmulator to Android

"Works to complete the effort are not finished yet, but I hope a lot of existing Java ME applications can be already transformed to Android."

At the moment code is available via a SVN repository. It’s sufficient to convert applications such as 5ud0ku.


I asked about final Android .apk sizes. Bartek told me that while the original 5ud0ku.jar midlet is 73 KB, the 5ud0ku .apk package (MicroEmulator + 5ud0ku) is only 206 KB.

Just for completeness, there’s also a J2ME MIDP Runner on the Android market that has had variable reviews. It works differently in that it loads a given .jar rather than wrapping an emulator + .jar into one standalone .apk.