在真机Android 2.1上加载.so文件(Tesseract)时出错

发布于 2024-12-09 18:42:56 字数 6434 浏览 7 评论 0原文

我正在使用 Tesseract 工具开发用于读卡(OCR)的示例扫描活动。

它在模拟器(使用 android 2.2)上运行良好,并快速轻松地从 SD 卡扫描给定卡。 但是当我在真实设备或模拟器上尝试它(使用 android 2.1)时,它会给出以下错误:

10-13 16:48:59.206: DEBUG/dalvikvm(3086): Trying to load lib /data/data/com.scan/lib/liblept.so 0x2fc14960
10-13 16:48:59.196: DEBUG/SntpClient(1814): request time failed: java.net.UnknownHostException: xtra1.gpsonextra.net
10-13 16:48:59.206: DEBUG/dalvikvm(3086): Trying to load lib /data/data/com.scan/lib/liblept.so 0x2fc14960
10-13 16:48:59.236: INFO/dalvikvm(3086): Unable to dlopen(/data/data/com.scan/lib/liblept.so): Cannot load library: link_image[1829]:  1137 could not load needed library 'libjpeg.so' for 'liblept.so' (load_library[1137]: Library 'libjpeg.so' not found)
10-13 16:48:59.236: WARN/dalvikvm(3086): Exception Ljava/lang/UnsatisfiedLinkError; thrown during Lcom/googlecode/tesseract/android/TessBaseAPI;.<clinit>
10-13 16:48:59.236: DEBUG/AndroidRuntime(3086): Shutting down VM
10-13 16:48:59.236: WARN/dalvikvm(3086): threadid=3: thread exiting with uncaught exception (group=0x2aaca450)
10-13 16:48:59.236: INFO/dalvikvm(3086): Unable to dlopen(/data/data/com.scan/lib/liblept.so): Cannot load library: link_image[1829]:  1137 could not load needed library 'libjpeg.so' for 'liblept.so' (load_library[1137]: Library 'libjpeg.so' not found)
10-13 16:48:59.236: WARN/dalvikvm(3086): Exception Ljava/lang/UnsatisfiedLinkError; thrown during Lcom/googlecode/tesseract/android/TessBaseAPI;.<clinit>
10-13 16:48:59.236: DEBUG/AndroidRuntime(3086): Shutting down VM
10-13 16:48:59.236: WARN/dalvikvm(3086): threadid=3: thread exiting with uncaught exception (group=0x2aaca450)
10-13 16:48:59.246: ERROR/AndroidRuntime(3086): Uncaught handler: thread main exiting due to uncaught exception
10-13 16:48:59.246: ERROR/AndroidRuntime(3086): Uncaught handler: thread main exiting due to uncaught exception
10-13 16:48:59.256: ERROR/AndroidRuntime(3086): java.lang.ExceptionInInitializerError
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at com.scan.SAMPLE_SCANActivity.onCreate(SAMPLE_SCANActivity.java:37)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread.access$2200(ActivityThread.java:119)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.os.Looper.loop(Looper.java:123)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread.main(ActivityThread.java:4363)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at java.lang.reflect.Method.invokeNative(Native Method)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at java.lang.reflect.Method.invoke(Method.java:521)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:877)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at dalvik.system.NativeStart.main(Native Method)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086): Caused by: java.lang.UnsatisfiedLinkError: Library lept not found
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at java.lang.Runtime.loadLibrary(Runtime.java:489)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at java.lang.System.loadLibrary(System.java:557)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at com.googlecode.tesseract.android.TessBaseAPI.<clinit>(TessBaseAPI.java:42)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     ... 14 more
10-13 16:48:59.256: ERROR/AndroidRuntime(3086): java.lang.ExceptionInInitializerError
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at com.scan.SAMPLE_SCANActivity.onCreate(SAMPLE_SCANActivity.java:37)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread.access$2200(ActivityThread.java:119)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.os.Looper.loop(Looper.java:123)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread.main(ActivityThread.java:4363)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at java.lang.reflect.Method.invokeNative(Native Method)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at java.lang.reflect.Method.invoke(Method.java:521)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:877)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at dalvik.system.NativeStart.main(Native Method)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086): Caused by: java.lang.UnsatisfiedLinkError: Library lept not found
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at java.lang.Runtime.loadLibrary(Runtime.java:489)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at java.lang.System.loadLibrary(System.java:557)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at com.googlecode.tesseract.android.TessBaseAPI.<clinit>(TessBaseAPI.java:42)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     ... 14 more

此库是否适用于 android 2.1 或任何其他问题???

I am developing a sample scan activity for card reading(OCR) using Tesseract tools.

It works fine on emulator (using android 2.2) and scans given card from sdcard fastly and easily.
But when I try it on real device or emulator(Using android 2.1) it gives following error:

10-13 16:48:59.206: DEBUG/dalvikvm(3086): Trying to load lib /data/data/com.scan/lib/liblept.so 0x2fc14960
10-13 16:48:59.196: DEBUG/SntpClient(1814): request time failed: java.net.UnknownHostException: xtra1.gpsonextra.net
10-13 16:48:59.206: DEBUG/dalvikvm(3086): Trying to load lib /data/data/com.scan/lib/liblept.so 0x2fc14960
10-13 16:48:59.236: INFO/dalvikvm(3086): Unable to dlopen(/data/data/com.scan/lib/liblept.so): Cannot load library: link_image[1829]:  1137 could not load needed library 'libjpeg.so' for 'liblept.so' (load_library[1137]: Library 'libjpeg.so' not found)
10-13 16:48:59.236: WARN/dalvikvm(3086): Exception Ljava/lang/UnsatisfiedLinkError; thrown during Lcom/googlecode/tesseract/android/TessBaseAPI;.<clinit>
10-13 16:48:59.236: DEBUG/AndroidRuntime(3086): Shutting down VM
10-13 16:48:59.236: WARN/dalvikvm(3086): threadid=3: thread exiting with uncaught exception (group=0x2aaca450)
10-13 16:48:59.236: INFO/dalvikvm(3086): Unable to dlopen(/data/data/com.scan/lib/liblept.so): Cannot load library: link_image[1829]:  1137 could not load needed library 'libjpeg.so' for 'liblept.so' (load_library[1137]: Library 'libjpeg.so' not found)
10-13 16:48:59.236: WARN/dalvikvm(3086): Exception Ljava/lang/UnsatisfiedLinkError; thrown during Lcom/googlecode/tesseract/android/TessBaseAPI;.<clinit>
10-13 16:48:59.236: DEBUG/AndroidRuntime(3086): Shutting down VM
10-13 16:48:59.236: WARN/dalvikvm(3086): threadid=3: thread exiting with uncaught exception (group=0x2aaca450)
10-13 16:48:59.246: ERROR/AndroidRuntime(3086): Uncaught handler: thread main exiting due to uncaught exception
10-13 16:48:59.246: ERROR/AndroidRuntime(3086): Uncaught handler: thread main exiting due to uncaught exception
10-13 16:48:59.256: ERROR/AndroidRuntime(3086): java.lang.ExceptionInInitializerError
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at com.scan.SAMPLE_SCANActivity.onCreate(SAMPLE_SCANActivity.java:37)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread.access$2200(ActivityThread.java:119)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.os.Looper.loop(Looper.java:123)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread.main(ActivityThread.java:4363)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at java.lang.reflect.Method.invokeNative(Native Method)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at java.lang.reflect.Method.invoke(Method.java:521)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:877)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at dalvik.system.NativeStart.main(Native Method)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086): Caused by: java.lang.UnsatisfiedLinkError: Library lept not found
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at java.lang.Runtime.loadLibrary(Runtime.java:489)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at java.lang.System.loadLibrary(System.java:557)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at com.googlecode.tesseract.android.TessBaseAPI.<clinit>(TessBaseAPI.java:42)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     ... 14 more
10-13 16:48:59.256: ERROR/AndroidRuntime(3086): java.lang.ExceptionInInitializerError
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at com.scan.SAMPLE_SCANActivity.onCreate(SAMPLE_SCANActivity.java:37)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread.access$2200(ActivityThread.java:119)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.os.Looper.loop(Looper.java:123)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at android.app.ActivityThread.main(ActivityThread.java:4363)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at java.lang.reflect.Method.invokeNative(Native Method)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at java.lang.reflect.Method.invoke(Method.java:521)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:877)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at dalvik.system.NativeStart.main(Native Method)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086): Caused by: java.lang.UnsatisfiedLinkError: Library lept not found
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at java.lang.Runtime.loadLibrary(Runtime.java:489)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at java.lang.System.loadLibrary(System.java:557)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     at com.googlecode.tesseract.android.TessBaseAPI.<clinit>(TessBaseAPI.java:42)
10-13 16:48:59.256: ERROR/AndroidRuntime(3086):     ... 14 more

Does this library works on android 2.1 or any other issue???

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

泪冰清 2024-12-16 18:42:56

首先,您阅读了所有步骤:--

对于 Windows 或 Ubuntu 并构建 Android 2.2 应用程序:

  1. 下载了 ndk & tesseract 工具(svn)项目随 README

  2. 使用 ndk 在 debian(vmware) 上构建它

  3. tesseract 工具实际上是一个库,并且有一个 eclipse 。项目,所以只需在使用 ndk 构建 so 后导入该项目并构建它。

  4. 将其设置为lib:http://developer.android .com/guide/developing/projects/projects-eclipse.html#SettingUpLibraryProject

  5. 现在在同一个工作区中创建一个新的 Android 项目,即您的应用程序。转到属性并引用步骤 3 中的库 (http://developer.android.com/guide/developing/projects/projects-eclipse.html#ReferencingLibraryProject)

6.基于 Android 2.2(最低)构建您的应用: http://code.google.com/p/tesseract-android-tools/issues/detail?id=5#c16

所以这个库不适用于 android 2.1

这个库可以在 android 2.1 上运行吗???

First of all You read all steps:--

For Windows or Ubuntu and to build Android 2.2 app :

  1. downloaded the ndk & tesseract tools (svn) project with the README

  2. build it on debian(vmware) with the ndk

  3. tesseract tools is actually a library and has a eclipse .project so just import that project after building the so's with ndk and build it.

  4. Set it as lib : http://developer.android.com/guide/developing/projects/projects-eclipse.html#SettingUpLibraryProject

  5. Now in the same workspace create a new android project i.e. your app. Go to properties and reference the library from step 3 (http://developer.android.com/guide/developing/projects/projects-eclipse.html#ReferencingLibraryProject)

6. Build your app based on Android 2.2 (min) : http://code.google.com/p/tesseract-android-tools/issues/detail?id=5#c16

So This library does not works on android 2.1

Does this library works on android 2.1 ???.

半边脸i 2024-12-16 18:42:56

我正在开发 OCR 的纯 Java 替代方案:

http://sourceforge.net/projects/javaocr/ ?_test=beta

也许这对你来说是一个选择。

I'm developing pure java alternative for OCR:

http://sourceforge.net/projects/javaocr/?_test=beta

Maybe this could be alternative for you.

半岛未凉 2024-12-16 18:42:56

不,这个原生库不支持低于 Android 版本 2.2,因为 Google 还在线提供此服务来克服这个问题

no, this native library doesnt support in below Android Version 2.2, as Google also serves this service online to over come this

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文