当前位置: 首页 > 知识库问答 >
问题:

Android OCR:未满足的链接错误

百里承业
2023-03-14

我是一名学生,正在为我的学校项目开发OCR功能。到目前为止,我能够成功地实现这些功能并运行应用程序。

我在Android Studio1.5.1上有我的应用程序,并且能够在我的旧设备三星银河笔记3应用编程接口21上运行它。最近,我将我的设备更改为三星银河笔记5应用编程接口22,每当我试图运行光学字符识别功能时,应用程序就会崩溃。

以下是日志:

致命异常:java。lang.IllegalStateException:无法在android上执行activity的方法。看法查看1美元。android上的onClick(View.java:4298)。看法看法android上的performClick(View.java:5254)。小装置。文本视图。android上的performClick(TextView.java:10557)。看法查看$PerformClick。在android上运行(View.java:21203)。操作系统。处理程序。android上的handleCallback(Handler.java:739)。操作系统。处理程序。android上的dispatchMessage(Handler.java:95)。操作系统。活套。android上的loop(Looper.java:145)。应用程序。活动线程。java上的main(ActivityThread.java:6897)。郎。反思。方法在java上调用(Method.java)。郎。反思。方法在com上调用(Method.java:372)。Android内部的操作系统。ZygoteInit$MethodandArgscaler。在com上运行(ZygoteInit.java:1404)。Android内部的操作系统。合子岩。main(ZygoteInit.java:1199)由java引起。郎。反思。java上的InvocationTargetException。郎。反思。方法在java上调用(Method.java)。郎。反思。方法在android上调用(Method.java:372)。看法查看1美元。android上的onClick(View.java:4293)。看法看法android上的performClick(View.java:5254)。小装置。文本视图。android上的performClick(TextView.java:10557)。看法查看$PerformClick。在android上运行(View.java:21203)。操作系统。处理程序。android上的handleCallback(Handler.java:739)。操作系统。处理程序。android上的dispatchMessage(Handler.java:95)。操作系统。活套。android上的loop(Looper.java:145)。应用程序。活动线程。java上的main(ActivityThread.java:6897)。郎。反思。方法在java上调用(Method.java)。郎。反思。方法在com上调用(Method.java:372)。Android内部的操作系统。ZygoteInit$MethodandArgscaler。在com上运行(ZygoteInit.java:1404)。Android内部的操作系统。合子岩。main(ZygoteInit.java:1199)由java引起。lang.UnsatifiedLinkError:dalvik。系统PathClassLoader[DexPathList[[zip file”/data/app/com.example.l33902.contactmanagement1512-2/base.apk“],nativeLibraryDirectories=[/data/app/com.example.l33902.contactmanagement1512-2/lib/arm64,/vendor/lib64,/system/lib64]]在java中找不到“libpngt.so”。lang.Runtime。java上的loadLibrary(Runtime.java:367)。语言系统。com上的loadLibrary(System.java:988)。googlecode。tesseract。AndroidTessBaseAPI。(TessBaseAPI.java:43)在com上。实例l33902.ContactManagement1512。ShowImage。com上的initTess(ShowImage.java:171)。实例l33902.ContactManagement1512。ShowImage$OCR。android上的onPreExecute(ShowImage.java:551)。操作系统。异步任务。android上的executeOnExecutor(AsyncTask.java:591)。操作系统。异步任务。在com上执行(AsyncTask.java:539)。实例l33902.ContactManagement1512。ShowImage。java上的startOCR(ShowImage.java:188)。郎。反思。方法在java上调用(Method.java)。郎。反思。方法在android上调用(Method.java:372)。看法查看1美元。android上的onClick(View.java:4293)。看法看法android上的performClick(View.java:5254)。小装置。文本视图。android上的performClick(TextView.java:10557)。看法查看$PerformClick。在android上运行(View.java:21203)。操作系统。处理程序。android上的handleCallback(Handler.java:739)。操作系统。处理程序。android上的dispatchMessage(Handler.java:95)。操作系统。活套。android上的loop(Looper.java:145)。应用程序。活动线程。java上的main(ActivityThread.java:6897)。郎。反思。方法在java上调用(Method.java)。郎。反思。方法在com上调用(Method.java:372)。Android内部的操作系统。ZygoteInit$MethodandArgscaler。在com上运行(ZygoteInit.java:1404)。Android内部的操作系统。合子岩。main(ZygoteInit.java:1199)

我已经在此应用程序中实现了Crashlytics,下面是导致崩溃的原因:

所述的错误是不满意链接错误,它表示应用程序失败,因为它无法加载库“libpngt.so”。

问题是,我之前在Android Studio上编写Galaxy Note 3时遇到过这个错误,并通过将“libpngt.so”放在“tess two\libs\armeabi-v7a”目录中解决了这个问题。它仍在研究星系注3

如下所示:

此外,我已经搜索了许多网站的解决方案。NDK构建也已成功构建。

目前,我不确定下一步可以做什么,因为我之前已经解决了这个错误,但是在以前的解决方案不起作用的情况下,这个实例会出现同样的问题。

这可能是由W logcat中未说明的任何其他错误引起的吗?也许是API的变化?只是想知道,请帮我提供任何可能的建议,因为我仍然是一个初学者在Android开发。提前感谢!

共有1个答案

瞿健
2023-03-14

我认为Galaxy Note 5是一款ARMv8手机。尝试使用应用程序的APP\u ABI行上的arm64-v8a重新构建库。mk文件:

APP_ABI := armeabi-v7a x86 mips arm64-v8a x86_64 mips64

这样做之后,您应该有六个带有*的目录。所以文件在你的libs目录下。

 类似资料:
  • 为什么我会得到不满意的链接错误? 细节如下: 本机方法的原型及其在我的Java代码中的调用是这样的: 私有本机long sampleFunction(long[][]twoDimArray,long number); p.SampleFunction(twoDimArray,number); 本机方法在VC++代码中的原型是这样的: JNIEXPORT jlong JNICALL Java_MyC

  • 我正在尝试使用JNLP构建一个小程序。我编写了一个Ant脚本来编译java类、构建jar文件并对它们进行签名。我使用与Ant构建的相同的密钥库对所有jar进行了签名。我在Java控制面板中授予了显示自签名小程序的权限。如果我直接运行JNLP文件,一切都很好,但是如果我将此小程序放在网页中,我会得到不满意的LinkError。 这是我得到的错误: 我根据操作系统构建的每个jar文件都包含gluege

  • 我有一个JNI dll以及我在带有eclipse的机器上创建的jar文件。 我正在尝试将其部署到另一台机器,但无法通过异常 我有另一个打印java.library.path的程序,我已经验证了这个dll所依赖的dll以及这个dll在java.library.path. 我已经阅读了他们应该在当前目录中的帖子,但这不起作用。 我读过他们应该去jre/bin的帖子,得到了同样的结果。 任何帮助都将不胜

  • 嘿,我正在尝试使用tess4j为tesseract,并在mac osx上为eclipse解决这个问题。 我的tesseract在终端上运行良好,但是试图通过tesseract运行tess4j会给我带来一个错误。

  • 我正在使用Sikuli脚本运行Testng,它在Eclipse ide中运行良好。在Eclipse IDE中,我使用Java1.7.0版本。 但是当我创建一个Ant脚本时,它抛出了一个异常。当我与ant-v核实时 Apache Ant version 1.7.1编译于2010年9月8日Buildfile:build.xml检测到Java版本: 1.6--- 初始化:[echo]开始。时间 构建:

  • 我试图编写一个简单的Java程序,通过JNI调用C函数来打印“Hello World”。一切编译都没有错误,但当我运行程序时,我得到一个“UnsatisfiedLinkError:找不到依赖库”。 根据Dependency Walker和dumpbin的说法,唯一的依赖项是“kernel32.dll”,在C:\Windows\System32及其依赖项中,也在System32中。 使命感 返回时没