android ocr java算法_Android OCR:应用程序在OCR功能崩溃(或尝试加载库)

我是学生,目前正在为Android Studio 1.5上的Android操作OCR功能.

我在网上找到了很多很棒的例子,并且一直试图在Android Studio上实现它.我已经配置了NDK构建,应用程序可以在Eclipse(juno)和Android Studio上运行.

但是在Android Studio上,只要我到达应用程序的OCR功能,应用程序就会崩溃.

我已经在线研究并在我的代码中实现了Crashlytics,以找出崩溃的原因.

以下是Crashlytics中显示的输出:

4f0c364d6b75bb81f3f5b80975e989c8.png

ae6cbf10a7447c068b965d4bdf053b4a.png

以下是致命异常的原始代码输出:java.lang.IllegalStateException:

Fatal Exception: java.lang.IllegalStateException: Could not execute method of the activity

at android.view.View$1.onClick(View.java:4237)

at android.view.View.performClick(View.java:5181)

at android.view.View$PerformClick.run(View.java:20887)

at android.os.Handler.handleCallback(Handler.java:739)

at android.os.Handler.dispatchMessage(Handler.java:95)

at android.os.Looper.loop(Looper.java:145)

at android.app.ActivityThread.main(ActivityThread.java:5938)

at java.lang.reflect.Method.invoke(Method.java)

at java.lang.reflect.Method.invoke(Method.java:372)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1389)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1184)

Caused by java.lang.reflect.InvocationTargetException

at java.lang.reflect.Method.invoke(Method.java)

at java.lang.reflect.Method.invoke(Method.java:372)

at android.view.View$1.onClick(View.java:4232)

at android.view.View.performClick(View.java:5181)

at android.view.View$PerformClick.run(View.java:20887)

at android.os.Handler.handleCallback(Handler.java:739)

at android.os.Handler.dispatchMessage(Handler.java:95)

at android.os.Looper.loop(Looper.java:145)

at android.app.ActivityThread.main(ActivityThread.java:5938)

at java.lang.reflect.Method.invoke(Method.java)

at java.lang.reflect.Method.invoke(Method.java:372)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1389)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1184)

Caused by java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.matpergo.androcr-2/base.apk"],nativeLibraryDirectories=[/data/app/com.matpergo.androcr-2/lib/arm, /vendor/lib, /system/lib]]] couldn't find "libpngt.so"

at java.lang.Runtime.loadLibrary(Runtime.java:366)

at java.lang.System.loadLibrary(System.java:989)

at com.googlecode.tesseract.android.TessBaseAPI.(TessBaseAPI.java:43)

at com.matpergo.androcr.ShowImage.initTess(ShowImage.java:187)

at com.matpergo.androcr.ShowImage$OCR.onPreExecute(ShowImage.java:567)

at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587)

at android.os.AsyncTask.execute(AsyncTask.java:535)

at com.matpergo.androcr.ShowImage.startOCR(ShowImage.java:204)

at java.lang.reflect.Method.invoke(Method.java)

at java.lang.reflect.Method.invoke(Method.java:372)

at android.view.View$1.onClick(View.java:4232)

at android.view.View.performClick(View.java:5181)

at android.view.View$PerformClick.run(View.java:20887)

at android.os.Handler.handleCallback(Handler.java:739)

at android.os.Handler.dispatchMessage(Handler.java:95)

at android.os.Looper.loop(Looper.java:145)

at android.app.ActivityThread.main(ActivityThread.java:5938)

at java.lang.reflect.Method.invoke(Method.java)

at java.lang.reflect.Method.invoke(Method.java:372)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1389)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1184)

正如输出所指出的,我假设错误是由InvocationTargetException和UnsatisfiedLinkError错误引起的.

我在网上搜索了相关的解决方案;对于UnsatisfiedLinkError错误;建议是应用程序没有在OCR功能上失败,但无法加载库(Android Tesseract App crashes on OCR Function).

但是,我未能按指定的方式实现解决方案,无法使我的应用程序正常工作.

任何建议/解决方案将不胜感激〜

解决方法:

UnsatisfiedLinkError错误表明您没有适当的JNI或本机.so文件

.so文件必须在app-> JniLibs-> .so文件下.来源:https://www.icode9.com/content-1-261151.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值