无法加载库' iengine_ansi_iso':在资源路径(。)

时间:2017-12-09 11:24:03

标签: java android android-ndk jna

有一种非常奇怪的情况。我在我的Android应用程序中使用this项目。要使用它,我必须在我的项目中包含JNA。我从here下载了JNA的jar文件。一切都很好。但是当我运行项目时,它为UnsatisfiedLinkError文件提供了libjnidispatch.so。我从this link下载了我想要的架构并重新运行了该项目。这个错误消失了,这是新的错误。

 Caused by: java.lang.UnsatisfiedLinkError: Unable to load library 'iengine_ansi_iso': Native library (android-arm/libiengine_ansi_iso.so) not found in resource path (.)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:303)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:427)
at com.sun.jna.Library$Handler.<init>(Library.java:179)
at com.sun.jna.Native.loadLibrary(Native.java:569)
at com.sun.jna.Native.loadLibrary(Native.java:544)
at com.foreepay.fingerprintextraction.ansiiso.AnsiIso$AnsiIsoNative.<clinit>(AnsiIso.java:55)
at com.foreepay.fingerprintextraction.ansiiso.AnsiIso.isoCreateTemplate(AnsiIso.java:500)
at com.foreepay.fingerprintextraction.fingerprint.core.ProcessImage.doInBackground(ProcessImage.java:163)
at com.foreepay.fingerprintextraction.fingerprint.core.ProcessImage.doInBackground(ProcessImage.java:39)
at android.os.AsyncTask$2.call(AsyncTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 

在这种情况下,我试图做同样的事情。从here下载所需文件,将其放在文件夹(src/main/jniLibs/armeabi-v7a)中,但没有运气。从那以后,我尝试了在Android Studio Project中添加*.so文件的所有方法,但每次都失败了。

这些是我尝试添加.so文件的链接,但每个人都有几乎相同的解决方案,这在我的情况下不起作用或者我的情况可能不是他们的情况。

  1. Adding a .so file in Android Studio
  2. How to include *.so library in Android Studio?
  3. Android NDK: how include *.so files in AndroidStudio
  4. 还有一些。

    我仍然无法找到原因。这是导致问题的代码块。

    final AnsiIsoNative INSTANCE = (AnsiIsoNative) Native.loadLibrary("iengine_ansi_iso", AnsiIsoNative.class);
    

    其中NativeJNA类。

    感谢任何帮助。

0 个答案:

没有答案