Я пытаюсь использовать JNA с javaME 8.2, но без успеха. Я новичок в JNA и javaME. В настоящее время я использую NetBeans 8.1, javaME SDK 8.2 и JNA 4.2.1.Ошибка JNA и javaME
У меня есть следующие очень простой тестовое приложение, которое просто создает экземпляр типа IntByReference ЮНА:
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
}
Код строит без ошибок, но когда я пытаюсь запустить его в эмуляторе (I» м, используя эмулятор EmbeddedDevice по умолчанию, установленный с SDK). Я получил следующую ошибку.
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)
Я знаю, что вы получите java.lang.UnsupportedClassVersionError при компиляции класса с JDK более поздней, чем используемый для выполнения, но это не должно быть так.
Может кто-нибудь иметь представление о том, что здесь происходит?