【问题标题】:Android class reference not found errorAndroid 类引用未找到错误
【发布时间】:2014-08-29 01:56:44
【问题描述】:

我正在制作一个安卓应用程序。我引用了一个名为识别的 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 android eclipse class


    【解决方案1】:

    问题:

    java.nio.file.Paths
    

    android SDK 中不存在Paths 类,因此NoClassDefFoundError java oracledalvik java android 具有不同的库,其中大部分是在android 中实现的,但BufferedImage 没有。考虑使用Bitmap 来获取图像。

    你可以go here查看android中java.nio包中的类列表

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-16
      • 1970-01-01
      • 2013-09-04
      • 2019-04-29
      • 2018-05-19
      • 2018-05-27
      • 1970-01-01
      相关资源
      最近更新 更多