0

当我在 adb shell 中使用 sqlite3 时,错误“Segmentation fault”:

shell@android:/data/data/com.yh.web/databases $ ll
ll
-rwxrwxrwx app_106  app_106     12288 2013-09-16 12:33 webview.db
-rwxrwxrwx app_106  app_106     32768 2013-09-16 12:33 webview.db-shm
-rwxrwxrwx app_106  app_106     12608 2013-09-16 12:33 webview.db-wal

shell@android:/data/data/com.yh.web/databases $ sqlite3 webview.db
sqlite3 webview.db
[1] + Stopped (signal)     sqlite3 webview.db

shell@android:/data/data/com.yh.web/databases $

[1] + Segmentation fault   sqlite3 webview.db

sqlite3一开始在我的手机中是不存在的,我从Android虚拟机中提取它,然后将它推送到我的手机中。当我尝试使用 adb shell 打开数据库时,为什么会在有根 Nexus One 上出现“sqlite3:未找到”错误?

什么问题,我该如何解决,请帮助我,谢谢!

4

1 回答 1

0

sqlite3 的版本是基于特定版本的 Android 构建的。它必须与您手机上的 Android 版本相匹配。您可以在此答案中获得有关 sqlite3 的更多信息:Android 中使用的 SQLite 版本?

编辑:

假设您具有 root 访问权限,您可以从Google Factory images中查找与您的 Android 版本匹配的 sqlite 二进制文件。如果这不起作用,您可以使用匹配版本的 CyanogenMod 执行类似操作并sqlite从中提取二进制文件。我认为 Android 4.0.4 匹配 CM 9.1。您可以查看http://en.wikipedia.org/wiki/CyanogenMod#Version_history。我认为这应该足以让你开始。不过,我不保证sqlite二进制文件可以在您的手机上使用。

于 2013-09-17T00:31:10.350 回答