今天在工作中遇到这样的一个问题,在android开发中使用adb shell下的sqlite3命令来查看SQLite数据库时,出现了 [ sqlite3 : not found]错误。在网上搜索了一下问题的原因:原来是模拟器或真机中的/system/xbin 目录下少了sqlite3 这个文件。解决方法如下:
[1] 让/system文件夹可读写
$ adb shell # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
[2] 打开另外一个有sqlite3(/system/xbin/sqlite3)的模拟器或者真机(要获得root权限),把sqlite3文件导出,并把它导入到没有sqlite3的机器的 /system/xbin 目录下面。[注:可以使用DDMS或者File Exploer来完成这个操作]
$ adb push sqlite3 /system/xbin
[3] 修改 sqlite3 权限
# chmod 4755 /system/bin/sqlite3
[4] 设置 /system为只读文件
# mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
[5] 通过上面的4个步骤就可以使用 sqlite3 命令来操作 SQLite 数据库了。