Java ME, genauer gesagt der WTK-Emulator hat schon seit über einem Jahr ein Problem: Er läuft in einer 64 Bit Java VM nicht. Der einzige Workaround besteht darin die 32 Bit JVM zu verwenden. Das tut jedoch weniger weh, als von mir anfangs angenommen.


Die Fehlermeldung beim Start lautet folgendermaßen auf einem aktuellen (06. Januar 2009) Ubuntu 8.10 Intrepid Ibex mit Java aus den Quellen, also OpenJDK 64-Bit Server VM (build 1.6.0_0-b12, mixed mode):

Starting emulator in execution mode
java.lang.UnsatisfiedLinkError: /home/janzen/software/netbeans-6.5/mobility8/WTK2.5.2/bin/sublime.so: /home/janzen/software/netbeans-6.5/mobility8/WTK2.5.2/bin/sublime.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)

Es sind folgende Schritte nötig, um es ans laufen zu bekommen:
Installation der 32 Bit JVM:
aptitude install ia32-sun-java6-bin

Die liegt nun unter /usr/lib/jvm/ia32-java-6-sun/. Sie soll allerdings nur vom Emulator verwendet werden. Dazu habe ich in das entsprechende Startscript die JVM nano /home/janzen/software/netbeans-6.5/mobility8/WTK2.5.2/bin/emulator eingetragen:


#!/bin/sh
 
javapathtowtk=/usr/lib/jvm/ia32-java-6-sun/bin/
#javapathtowtk= <-- Original
 
 
PRG=$0

Unschwer zu erkennen ist hier, dass der hier anzupassende Pfad /home/janzen/software/netbeans-6.5/ ist. Dort habe ich meine von mir selber gewartete Software liegen, die ich nicht aus dem Ubuntu-Repository verwende - im Fall von Netbeans aufgrund der Aktualität.