-2

私は Android で OCR アプリケーションを開発してきました。エミュレータでアプリを実行しているときに、「残念ながら OCR テストが停止しました」というエラーが表示されます。 .

ログキャット:

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
4

1 に答える 1

2

エラーは次の場所で発生しています:

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

つまり、 class の 715 行目CaptureActivityです。さらに、ログ (最後に向かって) にリストされている原因は、クラス TessBaseAPI を開始するためにライブラリを開始できることです。

Eclipse でコードを記述しているときにエラーがないと仮定すると、使用しているライブラリが電話またはエミュレータに送信されたときにすべてに追加されていないことが原因として考えられます。これを解決するには、プロジェクト プロパティを編集して、プロジェクトに追加したライブラリを含める必要があります。Eclipse Android プロジェクトへのライブラリー/JAR の追加を参照してください。

于 2013-08-26T10:50:38.130 に答える