sqlite3 android adb shell中的分段错误

时间:2013-09-16 05:41:37

标签: android sqlite android-sqlite

当我在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虚拟机中取出它,并将其推送到我的手机。通过Why do I get a "sqlite3: not found" error on a rooted Nexus One when I try to open a database using the adb shell?

解决它

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

1 个答案:

答案 0 :(得分:0)

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

修改

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