8

我有一个读取 WhatsApp 的 SQLite 数据库的根应用程序。我正在使用sqlite二进制文件执行 SQL 查询,并将结果读入我的应用程序。

现在,一切正常,但我注意到某些设备上似乎缺少 SQLite 可执行文件,尤其是 Galaxy S3 GT-I9300。(我可以通过我的崩溃统计看到这一点。)

我的应用程序还将sqlite3可执行文件安装到用户手机上。SQLite 可执行文件需要位于/system/xbin/sqlite3/system/bin/sqlite3。我已将sqlite3二进制文件与我的应用程序捆绑在一起,我的应用assets程序将资产解包并将其复制到正确的位置。我sqlite3从 Android 模拟器中提取了二进制文件。

现在,我一直看到读取该库文件libncurses.so丢失的错误。在我的手机上,该文件位于/system/bin/libncurses.so.

libncurses.so现在,我还应该将文件与我的应用程序捆绑在一起吗?还有什么我需要捆绑的吗?

如果有更好的方法来sqlite3使用该设备,我会很高兴听到它。

4

2 回答 2

0

在 SO 上进行一些搜索会导致大量答案:

这是一个问题:当我尝试使用 adb shell 打开数据库时,为什么在有根 Nexus One 上会出现“sqlite3:未找到”错误?

于 2013-07-02T14:27:43.603 回答
0

如果您想摆脱依赖关系,只需使用静态链接的所有需要​​的库自己构建它。

于 2013-07-02T14:24:22.657 回答