Mac OS and Java Me SDK 3.0
November 4, 2009 . Posted in tutorial.
Sun have released not too long ago a Java ME SDK 3.0 that finally brings an official Wireless Toolkit Emulator to the Mac platform.
I have been dealing with SUN software for a while now and I was not expecting this to be a smooth ride. Those who’d dealt with the WTK on Windows/Linux platform are well aware of the limitations of these emulators. What I was not prepared for was to get so much clutter that would just not work more than a couple of times.
First impression: this wtk looks like the most polished emulator ever released by Sun.
Sadly, after using the thing for a few days I discovered that the old habits had not changed:
- there is no menu entry to run an existing jad/jar pair. You have to right click on an emulator instance and then run it…
- you cannot set-up a project starting from a jad/jar pair. There used to be an option to do this back in wtk 2.2…
- after running a couple of apps the whole thing crashes an burns
- when closing down the wtk a process is left lingering. Run this in a terminal: ps aux | grep device-manager.app
- switching the verbose mode when launching the emulator kills the whole thing dead!
- they bundled ant 1.7.1 with the distro although ant is built in Mac OS
- Permgen errors are thrown if you try to launch the app too often. LOL
Here’s what happened when I created a new project and tried to run it:
*** Error ***
Failed to connect to device 0!
Reason:
Emulator 0 terminated while waiting for it to register!
The same thing happens with Emulator 1 and 2 and 3 and 4 and 5 and 6 and … you get the picture.
Googling did return lots of forum posts, but hardly any answers…
So after wasting more than 2 hours on this issue I did the unthinkable: rebooted my mac! To my surprise the miracle happened during the reboot: I was finally able to run the project again.
Needless to say I am very disappointed but not surprised by the quality of this, early access, Java ME SDK.
Cheers…
Tagged: feedback, how to, java, javame
JavaME SDK Team on December 2, 2009 - 3:07 pm
Thanks for your feedback. We have concentrated on overall stability of emulator and our “mini” ide after EA release and I believe we have resolved most of issues mentioned in your blog post.
* shared memory limitation on Mac
* perm gen space usage
* jdk 1.5 and jdk 1.6 support
* lingering process you have mentioned is device-manager component which must be always running and all emulators and devices registers there. When jdk 1.6 is used device-manager displays its status icon in main menu and can be simply stopped. Jdk 1.5 lacks such support and thus device-manager must be killed. Upgrading to jdk 1.6 is recommended and will resolve this problem.
* project creation from jad/jar without having sources is not very useful and has been left out.
* running jad/jar is possible from context menu on emulator instance or from commandline “emulator -Xdescriptor:”
We will be glad to hear your opinion after final release is out. Please check our blog at http://blogs.sun.com/javamesdk where you can find what’s new and post your comments which will get right to development team.
Nick on December 2, 2009 - 3:50 pm
Thank you for your comment!
I’m afraid I was using jdk 1.6 when I get the device manager errors. See below:
java version “1.6.0_15″
Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-90, mixed mode)
I’m looking forward to the next release.