Ich versuche, JNA mit JavaME 8.2 zu verwenden, aber mit keinem Erfolg. Ich bin neu bei JNA und JavaME. Ich verwende derzeit NetBeans 8.1, JavaME SDK 8.2 und JNA 4.2.1.JNA und JavaME Fehler
Ich habe folgende sehr einfache Anwendung, die nur eine Instanz der IntByReference JNA Art erzeugt:
import javax.microedition.midlet.MIDlet;
import com.sun.jna.ptr.IntByReference;
public class JavaMEApplication2 extends MIDlet {
boolean bFirst = false;
boolean loopFlag = true;
//@Override
public void startApp() {
if (bFirst = false) {
try {
// Perform startup operations
} catch (Exception ex) {
ex.printStackTrace();
return;
}
bFirst = true;
} else {
System.out.println("Trying starting IMlet...");
IntByReference data = new IntByReference();
System.out.println("IMlet Demo is already started...");
}
// Start program here
}
Der Code erstellt ohne Fehler, aber wenn ich versuche, es in dem Emulator auszuführen (i‘ m den Embedded-Standard-Emulator verwenden, der mit dem SDK installiert wurde) Ich erhalte den folgenden Fehler.
Starting emulator in execution mode
Trying starting IMlet...
TRACE: <at java.lang.UnsupportedClassVersionError>, startApp threw an Exception
java.lang.UnsupportedClassVersionError
- javameapplication2/JavaMEApplication2.startApp(JavaMEApplication2.java:38)
- .unknown...unknown.(), bci=1
- .unknown...unknown.(), bci=5
- .unknown...unknown.(), bci=236
- .unknown...unknown.(), bci=38
- .unknown...unknown.(), bci=5
- .unknown...unknown.(), bci=127
- com/sun/midp/main/AppIsolateMIDletSuiteLoader.main(), bci=26
java.lang.UnsupportedClassVersionError
- javameapplication2/JavaMEApplication2.startApp(JavaMEApplication2.java:38)
- .unknown...unknown.(), bci=1
- .unknown...unknown.(), bci=5
- .unknown...unknown.(), bci=236
- .unknown...unknown.(), bci=38
- .unknown...unknown.(), bci=5
- .unknown...unknown.(), bci=127
- com/sun/midp/main/AppIsolateMIDletSuiteLoader.main(), bci=26
BUILD SUCCESSFUL (total time: 8 seconds)
Ich weiß, dass Sie eine java.lang.UnsupportedClassVersionError erhalten, wenn Sie eine Klasse mit einer JDK aktueller als die für die Ausführung verwendet man kompilieren, aber das sollte nicht der Fall sein.
Hätte jemand eine Idee, was hier passiert?