且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Hi.while开发Android中OCR应用程序,我得到错误的"不幸的是OCR测试已停止"在Android模拟器

更新时间:2023-10-21 08:23:52

该错误是在存在的:

  edu.sfsu.cs.orange.ocr.CaptureActivity.initOcrEngine(CaptureActivity.java:715)

的行类715 CaptureActivity 。此外,该日志(接近尾声)中列出的原因是,它可以启动一个库来启动类TessBaseAPI。

假设没有错误,当你在Eclipse编写code,那么一个可能的原因是您正在使用库时将其发送到手机或仿真器不被添加到所有。为了解决这个问题,你需要编辑项目属性,包括你已经添加到项目库。见Adding库/ JAR到Eclipse Android项目。

i've been developing OCR application in Android.while running the app in Emulator i'm getting Error as "Unfortunately OCR test has stopped".so can any one plz help me to resolve the error...Thanks in advance....

The Logcat:

08-26 14:24:45.128: D/dalvikvm(548): Not late-enabling CheckJNI (already on)
08-26 14:24:47.988: D/LanguageCodeHelper(548): getOcrLanguageName: eng->English
08-26 14:24:48.008: D/LanguageCodeHelper(548): getTranslationLanguageName: es->Spanish
08-26 14:24:48.219: D/dalvikvm(548): GC_CONCURRENT freed 261K, 6% free 6680K/7047K, paused 8ms+7ms
08-26 14:24:48.319: W/dalvikvm(548): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/googlecode/tesseract/android/TessBaseAPI;
08-26 14:24:48.319: D/AndroidRuntime(548): Shutting down VM
08-26 14:24:48.319: W/dalvikvm(548): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
08-26 14:24:48.369: E/AndroidRuntime(548): FATAL EXCEPTION: main
08-26 14:24:48.369: E/AndroidRuntime(548): java.lang.ExceptionInInitializerError
08-26 14:24:48.369: E/AndroidRuntime(548):  at edu.sfsu.cs.orange.ocr.CaptureActivity.initOcrEngine(CaptureActivity.java:715)
08-26 14:24:48.369: E/AndroidRuntime(548):  at edu.sfsu.cs.orange.ocr.CaptureActivity.onResume(CaptureActivity.java:372)
08-26 14:24:48.369: E/AndroidRuntime(548):  at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1154)
08-26 14:24:48.369: E/AndroidRuntime(548):  at android.app.Activity.performResume(Activity.java:4539)
08-26 14:24:48.369: E/AndroidRuntime(548):  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2434)
08-26 14:24:48.369: E/AndroidRuntime(548):  at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2472)
08-26 14:24:48.369: E/AndroidRuntime(548):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1986)
08-26 14:24:48.369: E/AndroidRuntime(548):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
08-26 14:24:48.369: E/AndroidRuntime(548):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
08-26 14:24:48.369: E/AndroidRuntime(548):  at android.os.Handler.dispatchMessage(Handler.java:99)
08-26 14:24:48.369: E/AndroidRuntime(548):  at android.os.Looper.loop(Looper.java:137)
08-26 14:24:48.369: E/AndroidRuntime(548):  at android.app.ActivityThread.main(ActivityThread.java:4424)
08-26 14:24:48.369: E/AndroidRuntime(548):  at java.lang.reflect.Method.invokeNative(Native Method)
08-26 14:24:48.369: E/AndroidRuntime(548):  at java.lang.reflect.Method.invoke(Method.java:511)
08-26 14:24:48.369: E/AndroidRuntime(548):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
08-26 14:24:48.369: E/AndroidRuntime(548):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
08-26 14:24:48.369: E/AndroidRuntime(548):  at dalvik.system.NativeStart.main(Native Method)
08-26 14:24:48.369: E/AndroidRuntime(548): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load lept: findLibrary returned null
08-26 14:24:48.369: E/AndroidRuntime(548):  at java.lang.Runtime.loadLibrary(Runtime.java:365)
08-26 14:24:48.369: E/AndroidRuntime(548):  at java.lang.System.loadLibrary(System.java:535)
08-26 14:24:48.369: E/AndroidRuntime(548):  at com.googlecode.tesseract.android.TessBaseAPI.<clinit>(TessBaseAPI.java:46)
08-26 14:24:48.369: E/AndroidRuntime(548):  ... 17 more
08-26 14:33:18.479: D/LanguageCodeHelper(576): getOcrLanguageName: eng->English
08-26 14:33:18.489: D/LanguageCodeHelper(576): getTranslationLanguageName: es->Spanish
08-26 14:33:18.708: D/dalvikvm(576): GC_CONCURRENT freed 263K, 6% free 6682K/7047K, paused 7ms+6ms
08-26 14:33:18.809: W/dalvikvm(576): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/googlecode/tesseract/android/TessBaseAPI;
08-26 14:33:18.809: D/AndroidRuntime(576): Shutting down VM
08-26 14:33:18.809: W/dalvikvm(576): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
08-26 14:33:18.838: E/AndroidRuntime(576): FATAL EXCEPTION: main
08-26 14:33:18.838: E/AndroidRuntime(576): java.lang.ExceptionInInitializerError
08-26 14:33:18.838: E/AndroidRuntime(576):  at edu.sfsu.cs.orange.ocr.CaptureActivity.initOcrEngine(CaptureActivity.java:715)
08-26 14:33:18.838: E/AndroidRuntime(576):  at edu.sfsu.cs.orange.ocr.CaptureActivity.onResume(CaptureActivity.java:372)
08-26 14:33:18.838: E/AndroidRuntime(576):  at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1154)
08-26 14:33:18.838: E/AndroidRuntime(576):  at android.app.Activity.performResume(Activity.java:4539)
08-26 14:33:18.838: E/AndroidRuntime(576):  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2434)
08-26 14:33:18.838: E/AndroidRuntime(576):  at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2472)
08-26 14:33:18.838: E/AndroidRuntime(576):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1986)
08-26 14:33:18.838: E/AndroidRuntime(576):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
08-26 14:33:18.838: E/AndroidRuntime(576):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
08-26 14:33:18.838: E/AndroidRuntime(576):  at android.os.Handler.dispatchMessage(Handler.java:99)
08-26 14:33:18.838: E/AndroidRuntime(576):  at android.os.Looper.loop(Looper.java:137)
08-26 14:33:18.838: E/AndroidRuntime(576):  at android.app.ActivityThread.main(ActivityThread.java:4424)
08-26 14:33:18.838: E/AndroidRuntime(576):  at java.lang.reflect.Method.invokeNative(Native Method)
08-26 14:33:18.838: E/AndroidRuntime(576):  at java.lang.reflect.Method.invoke(Method.java:511)
08-26 14:33:18.838: E/AndroidRuntime(576):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
08-26 14:33:18.838: E/AndroidRuntime(576):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
08-26 14:33:18.838: E/AndroidRuntime(576):  at dalvik.system.NativeStart.main(Native Method)
08-26 14:33:18.838: E/AndroidRuntime(576): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load lept: findLibrary returned null
08-26 14:33:18.838: E/AndroidRuntime(576):  at java.lang.Runtime.loadLibrary(Runtime.java:365)
08-26 14:33:18.838: E/AndroidRuntime(576):  at java.lang.System.loadLibrary(System.java:535)
08-26 14:33:18.838: E/AndroidRuntime(576):  at com.googlecode.tesseract.android.TessBaseAPI.<clinit>(TessBaseAPI.java:46)
08-26 14:33:18.838: E/AndroidRuntime(576):  ... 17 more
08-26 14:33:23.109: I/Process(576): Sending signal. PID: 576 SIG: 9
08-26 15:31:18.949: D/LanguageCodeHelper(732): getOcrLanguageName: eng->English
08-26 15:31:18.969: D/LanguageCodeHelper(732): getTranslationLanguageName: es->Spanish
08-26 15:31:19.189: D/dalvikvm(732): GC_CONCURRENT freed 241K, 6% free 6680K/7047K, paused 7ms+6ms
08-26 15:31:19.289: W/dalvikvm(732): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/googlecode/tesseract/android/TessBaseAPI;
08-26 15:31:19.289: D/AndroidRuntime(732): Shutting down VM
08-26 15:31:19.299: W/dalvikvm(732): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
08-26 15:31:19.319: E/AndroidRuntime(732): FATAL EXCEPTION: main
08-26 15:31:19.319: E/AndroidRuntime(732): java.lang.ExceptionInInitializerError
08-26 15:31:19.319: E/AndroidRuntime(732):  at edu.sfsu.cs.orange.ocr.CaptureActivity.initOcrEngine(CaptureActivity.java:715)
08-26 15:31:19.319: E/AndroidRuntime(732):  at edu.sfsu.cs.orange.ocr.CaptureActivity.onResume(CaptureActivity.java:372)
08-26 15:31:19.319: E/AndroidRuntime(732):  at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1154)
08-26 15:31:19.319: E/AndroidRuntime(732):  at android.app.Activity.performResume(Activity.java:4539)
08-26 15:31:19.319: E/AndroidRuntime(732):  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2434)
08-26 15:31:19.319: E/AndroidRuntime(732):  at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2472)
08-26 15:31:19.319: E/AndroidRuntime(732):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1986)
08-26 15:31:19.319: E/AndroidRuntime(732):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
08-26 15:31:19.319: E/AndroidRuntime(732):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
08-26 15:31:19.319: E/AndroidRuntime(732):  at android.os.Handler.dispatchMessage(Handler.java:99)
08-26 15:31:19.319: E/AndroidRuntime(732):  at android.os.Looper.loop(Looper.java:137)
08-26 15:31:19.319: E/AndroidRuntime(732):  at android.app.ActivityThread.main(ActivityThread.java:4424)
08-26 15:31:19.319: E/AndroidRuntime(732):  at java.lang.reflect.Method.invokeNative(Native Method)
08-26 15:31:19.319: E/AndroidRuntime(732):  at java.lang.reflect.Method.invoke(Method.java:511)
08-26 15:31:19.319: E/AndroidRuntime(732):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
08-26 15:31:19.319: E/AndroidRuntime(732):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
08-26 15:31:19.319: E/AndroidRuntime(732):  at dalvik.system.NativeStart.main(Native Method)
08-26 15:31:19.319: E/AndroidRuntime(732): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load lept: findLibrary returned null
08-26 15:31:19.319: E/AndroidRuntime(732):  at java.lang.Runtime.loadLibrary(Runtime.java:365)
08-26 15:31:19.319: E/AndroidRuntime(732):  at java.lang.System.loadLibrary(System.java:535)
08-26 15:31:19.319: E/AndroidRuntime(732):  at com.googlecode.tesseract.android.TessBaseAPI.<clinit>(TessBaseAPI.java:46)
08-26 15:31:19.319: E/AndroidRuntime(732):  ... 17 more
08-26 15:31:24.919: I/Process(732): Sending signal. PID: 732 SIG: 9

The error is occuring at:

edu.sfsu.cs.orange.ocr.CaptureActivity.initOcrEngine(CaptureActivity.java:715)

ie line 715 of class CaptureActivity. Furthermore, the cause listed in the log (towards the end) is that it could start a library to initiate the class TessBaseAPI.

Assuming that there are no errors when you are writing your code in eclipse, then a likely cause is that a library you are using isn't be added to the all when it is sent to the phone or emulator. To solve this, you need to edit the project properties to include the libraries you have added to the project. See Adding a library/JAR to an Eclipse Android project.