2013-07-02 39 views
6

我有一个读取WhatsApp的SQLite数据库的根应用程序。我使用sqlite二进制来执行SQL查询,并将结果读入我的应用程序。如何在Android设备上安装SQLite可执行文件?

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

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

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

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

如果在设备上获得sqlite3的更好方法,我很乐意听到它。

+0

你用什么二进制?我想这是[“Linux预编译二进制文件”](http://www.sqlite.org/download.html)? – RandomSeed

+0

我使用的二进制文件来自Android Jelly Bean Emulator。我用'adb'把它拉出图像。 –

回答

1
+1

StackOverflow是用于建设性的讨论和答案,而不是播放商店链接没有适当的解释。虽然我很欣赏你的意见,但我希望保持本网站的内容有用。谢谢。 –

+4

@Mridang - marshallino的帖子其实是最有用的帖子。 –

+3

不幸的是,这个应用程序有一个小小的警告。它是用sqlite库的静态副本构建的,这意味着手机的库不存在依赖性问题。不幸的是,用于构建二进制文件的静态库是来自sqlite.org的未经修改的版本,并省略了Android的一些Google扩展。例如,它省略了PHONEBOOK类型的排序规则。虽然从这个应用程序的静态二进制文件将适用于大多数事情,但有些情况下不会。模拟器映像中的二进制文件副本对我来说效果最佳。 – etherfish

0

如果您想转义依赖关系,只需使用静态链接的所有必需库自己构建它。

+2

你能否详细说明我如何做到这一点?我对make和gcc没有太多的了解,但有一点帮助,我可以做到。谢谢。 –

+0

@MridangAgarwalla我在这里帮不了你,只能建议设置环境来构建完整的android并以某种方式改变它,或者去氰社区并且在那里寻求帮助。 – Vasaka

相关问题