java.lang.UnsatifiedLinkError:无法';t load stlport_shared:findLibrary返回null(tess 2)
我在android中使用sqlcipher.jar加密数据库,在android中也使用它的本机库 libs/armeabi文件夹 1) libdatabase_sqlcipher.so 2) libsqlcipher_android.so 3) libstlport_shared.so 及 libs/x86文件夹 1) libdatabase_sqlcipher.so 2) libsqlcipher_android.so 3) libstlport_shared.so 和我导入的libs/文件夹中名为sqlcipher.jar的jar文件 现在一切都很好,一切进展顺利,数据库从sqlite中获取和读取也很好,而且我在SQLiteDatabase.loadLibs(context)中没有收到任何错误强>行 但是我想在我的项目中也实现OCR,这样我就可以从这里导入名为tess two的项目,其中有一个名为tess two folder的库 我正在将该项目库导入到我的android项目中,我清理了我的项目并运行了它,当时我在第行SQLiteDatabase.loadLibs(context)中发现了错误强>java.lang.UnsatifiedLinkError:无法';t load stlport_shared:findLibrary返回null(tess 2),java,android,android-ndk,tesseract,sqlcipher,Java,Android,Android Ndk,Tesseract,Sqlcipher,我在android中使用sqlcipher.jar加密数据库,在android中也使用它的本机库 libs/armeabi文件夹 1) libdatabase_sqlcipher.so 2) libsqlcipher_android.so 3) libstlport_shared.so 及 libs/x86文件夹 1) libdatabase_sqlcipher.so 2) libsqlcipher_android.so 3) libstlport_shared.so 和我导入的libs/文件夹
同样,当我删除了tess two库,并从设备上进行卸载,进行清理、构建和运行时,它工作正常。没有错误发生,我希望OCR功能也在我的项目中。有人能帮我吗您可以尝试更改行: APP_STL:=gnustl_static (在文件tess two/tess two/jni/Application.mk中) 致:
我遇到了同样的问题。首先,检查所有库是否正确导入 在我的例子中,问题是当我们添加另一个库项目时,这些项目有一个armeabi_v7文件夹,因此显然if将优先于armeabi文件夹,这意味着sqlitecPher库将无法定位 在我们的例子中,解决方案只是删除新库上的armeabi_v7文件夹
希望有帮助。我也有同样的问题。。我使用的是Android Studio,我已经将应用程序从eclipse导入了Android Studio 我花了3-4个小时来找出解决办法。 下面是我为解决这个问题所做的。。(仅适用于Android studio) 将目录创建到
src
文件夹中,将其命名为main
和其他目录,如下图所示。您可能在项目的主目录(即eclipse结构)中的src文件夹之外有libs和assets文件夹。我们需要遵循Android Studio的结构。。
有关更多详细信息。。检查链接
有关SqlCipher检查链接的其他帮助
(我知道我回答这个问题有点晚了,但它可能会帮助某人。)加载程序无法找到所述库文件。所以,我决定把它和我的应用程序一起打包。只有394KB 我从以下地址下载了libstlport_shared.so,并将其添加到lib/armeabi和lib/armeabi-v7a文件夹中,清理并重建了项目。现在它运行没有问题
希望这能帮上忙,我在app目录中创建了一个jniLibs文件夹,这就是它不起作用的原因。谢谢你的截图,帮了我很多。纯天赋,这是完美的解决方案。。。确实是完美的解决方案:)是的。。所以src/main/jniLibs/armeabi/xyzib.so是应该放置库的文件夹