10

我正在使用 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

和 jar 文件名为sqlcipher.jar在 libs/ 文件夹中所有我已经导入

现在一切都运行良好,数据库正在获取并从 sqlite 读取也运行良好,而且我在SQLiteDatabase.loadLibs(context);中没有任何错误。线

在此处输入图像描述 但我想在我的项目中实现OCR来做到这一点,我从这个http://code.google.com/p/tesseract-ocr/https://github.com/rmtheis/导入名为tess-two的项目tess-two中有一个名为 tess-two 文件夹的库

我正在将该项目库导入到我的 android 项目中,我清理了我的项目并运行它,当时我在SQLiteDatabase.loadLibs(context);行中遇到了错误。

在此处输入图像描述

再次,当我删除tess-two库并从设备上卸载并进行清理并构建和运行时,它工作正常,没有发生错误,我希望 OCR 功能也在我的项目中,任何人都可以帮助我

4

4 回答 4

22

我有同样的问题..我使用的是 Android Studio,我已经将应用程序从 eclipse 导入到了 android studio。

我花了 3-4 个小时才找到解决方案。这是我为解决此问题所做的工作。(仅适用于 Android 工作室)根据下图将目录创建到src文件夹名称main和其他目录中。您可能在项目的主目录中的 src 文件夹之外有 libs 和 assets 文件夹,即 eclipse 结构。我们将需要遵循 Android Studio 的结构.. 在此处输入图像描述

有关更多详细信息..检查链接...

有关 SqlCipher 的其他帮助,请查看链接。

(我知道我回答这个问题有点晚了,但它可能会对某人有所帮助。)

于 2014-09-12T15:37:15.393 回答
4

我遇到了同样的问题。首先,检查所有库是否正确导入。

就我而言,问题是当我们添加另一个库项目时,这些项目有一个 armeabi_v7 文件夹,因此显然 if 将优先于 armeabi 文件夹,这意味着将找不到 sqlitecypher 库。

在我们的例子中,解决方案只是删除新库上的 armeabi_v7 文件夹。

希望能帮助到你。

于 2014-01-21T15:49:34.750 回答
0

您可以尝试更改线路:

APP_STL := gnustl_static (在文件 tess-two / tess-two / jni / Application.mk 中)

至:APP_STL := stlport_static

于 2013-11-21T07:00:25.130 回答
0

加载程序无法找到所述库文件。所以,我决定将它与我的应用程序一起打包。它只有 394KB

我从以下地址下载了 libstlport_shared.so 并将其添加到 lib/armeabi 和 lib/armeabi-v7a 文件夹中,清理了项目并重建了它。现在它运行没有问题。

http://331312256.wodemo.net/browse/dl/156348/lib/armeabi/libstlport_shared.so?resolved=1

希望有帮助

于 2015-12-26T09:16:03.167 回答