2014-08-29 61 views
0

我正在製作Android應用程序。我參考了一個叫做識別的java項目。當我通過它從我的android項目中調用一個函數時,它會崩潰,並顯示以下日誌:未找到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構建順序:

enter image description here enter image description here

回答

0

問題:

java.nio.file.Paths 

Paths類不會在Android SDK中存在從而給你NoClassDefFoundErrorjava oracledalvik java android有不同的庫大多他們的android系統中實現,但BufferedImage是沒有。考慮使用Bitmap來代替圖像。

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