繁体   English   中英

找不到Android类参考错误

[英]Android class reference not found error

我正在制作一个android应用。 我引用了一个称为识别的Java项目。 当我从我的android项目中从中调用函数时,它崩溃,并显示以下日志:

Java项目使用BufferedImage对象,并将其设置为JRE 1.6。

有人知道问题出在哪里吗?

谢谢

编辑:

我认为问题是Path需要1.7,但是android正在使用1.6如何解决该问题?

08-28 21:52:04.595: E/AndroidRuntime(21763): FATAL EXCEPTION: main
08-28 21:52:04.595: E/AndroidRuntime(21763): java.lang.NoClassDefFoundError: java.nio.file.Paths
08-28 21:52:04.595: E/AndroidRuntime(21763):    at recognition.Recognize.getImage(Recognize.java:168)
08-28 21:52:04.595: E/AndroidRuntime(21763):    at recognition.Recognize.getInitialImage(Recognize.java:80)
08-28 21:52:04.595: E/AndroidRuntime(21763):    at recognition.Recognize.runAnalysis(Recognize.java:46)
08-28 21:52:04.595: E/AndroidRuntime(21763):    at android.arin.SpeciesScreen.onActivityResult(SpeciesScreen.java:131)
08-28 21:52:04.595: E/AndroidRuntime(21763):    at android.app.Activity.dispatchActivityResult(Activity.java:5361)
08-28 21:52:04.595: E/AndroidRuntime(21763):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3201)
08-28 21:52:04.595: E/AndroidRuntime(21763):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3248)
08-28 21:52:04.595: E/AndroidRuntime(21763):    at android.app.ActivityThread.access$1200(ActivityThread.java:143)
08-28 21:52:04.595: E/AndroidRuntime(21763):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289)
08-28 21:52:04.595: E/AndroidRuntime(21763):    at android.os.Handler.dispatchMessage(Handler.java:99)
08-28 21:52:04.595: E/AndroidRuntime(21763):    at android.os.Looper.loop(Looper.java:137)
08-28 21:52:04.595: E/AndroidRuntime(21763):    at android.app.ActivityThread.main(ActivityThread.java:4950)
08-28 21:52:04.595: E/AndroidRuntime(21763):    at java.lang.reflect.Method.invokeNative(Native Method)
08-28 21:52:04.595: E/AndroidRuntime(21763):    at java.lang.reflect.Method.invoke(Method.java:511)
08-28 21:52:04.595: E/AndroidRuntime(21763):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
08-28 21:52:04.595: E/AndroidRuntime(21763):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
08-28 21:52:04.595: E/AndroidRuntime(21763):    at dalvik.system.NativeStart.main(Native Method)

这是getImage函数

private static BufferedImage getImage(String from) throws IOException {
    Path path = Paths.get(from);
    File file = path.toFile();

    if (file.exists()) {
        InputStream stream = Files.newInputStream(path);
        BufferedImage bufferedImage = ImageIO.read(stream);

        BufferedImage NewBufferedImage = convertToARGB(bufferedImage);
        bufferedImage.flush();
        bufferedImage = NewBufferedImage;

        return bufferedImage;
    }
    return null;
}

这是android的构建顺序:

在此处输入图片说明在此处输入图片说明

问题:

java.nio.file.Paths

Paths类在android SDK中不存在,因此给您NoClassDefFoundError java oracledalvik java android有不同的库,其中大多数是在android中实现的,但BufferedImage都不是。 考虑使用位图代替获取图像。

您可以在这里检查android中java.nio包中的类列表

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM