当我在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?
解决它出了什么问题,如何解决,请帮助我,谢谢!
答案 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
二进制文件适用于您的手机。