首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JNA和javaME错误

JNA和javaME错误
EN

Stack Overflow用户
提问于 2016-04-30 00:38:07
回答 1查看 92关注 0票数 0

我正在尝试将JNA与javaME 8.2一起使用,但没有成功。我对JNA和javaME都是新手。我目前使用的是JNA8.1、javaME SDK8.2和JNA4.2.1。

我有以下非常简单的测试应用程序,它创建了一个IntByReference JNA类型的实例:

代码语言:javascript
复制
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
}

代码构建时没有错误,但是当我尝试在模拟器中执行它时(我使用的是随软件开发工具包一起安装的默认EmbeddedDevice模拟器),我得到了以下错误。

代码语言:javascript
复制
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)

我知道当您使用比用于执行的JDK更新的JDK编译一个类时,您会得到一个java.lang.UnsupportedClassVersionError,但事实并非如此。

有人知道这里发生了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2016-05-02 13:58:28

我从来没有使用过JNA,所以我真的不知道它是什么,但它的名字暗示着它用于在运行MIDlet的任何设备上调用本机功能。我99%确定这在JavaME上是不可能的,至少在MIDlets上是不可能的。如果可以从JavaME访问任何本机内容,那就是设备制造商已经包含了这样的API,在这种情况下,它不会被称为com.sun.jna.ptr.IntByReference,而是类似于com.vendor.jna.*。不过,我从来没有见过这样的例子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36943475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档