sqlite3 为一个可执行脚本程序,在system/xbin/下面,某些品牌手机rom 不带这个东西,导致没有该工具。
所以在进行开发的时候在命令行用 adb 连接到手机使用 sqlite3 查看数据库出现
sqlite3:not found
上文援引: leon90dm 博客
解决办法的思路是:
将其他手机或模拟器的 sqlite3 文件拷贝到没有这个文件的手机上(前提是手机必须要ROOT,并且最好是同API级别的文件)。
笔者参考了网上的许多办法都遇到一些问题,不过最终还是解决了。笔者认为网上的一些办法还不够完善,因此写这篇文章供其它遇到此问题的朋友借鉴。
将文件解压,然后在eclipse中打开DDMS,在File Explorer中进入这个目录:
mnt --> sdcard
将刚刚解压的 sqlite3 文件导入到该目录下,右上角有一个手机图标点击它可以选择导入的文件。
然后 运行cmd 打开命令行,输入 adb shell ,如果命令无效,那先去配置一下环境变量,方法百度上有很多。
首先看一下提示符如果是 # 那就继续,如果是 $,就输入 su 回车即可,前提是手机必须要ROOT。
然后在命令行敲入
cat /mnt/sdcard/sqlite3 > /system/xbin/sqlite3
复制文件。
继续敲入
chmod 4755 /system/xbin/sqlite3
这一步是修改文件的权限,否则不可用。
好的到这一步你可以试着敲入sqlite3命令,如果显示版本号等其他信息,则说明配置成功,可以直接使用了。如果提示需要so的库文件,那么我还需要继续copy文件进手机里。
找到刚才解压的压缩包,里面有一个叫 libncurses.so 的文件,这个就是提示所需要库文件。
这个库文件应该放在 system –> lib 目录下,放入的方法参考上面放入sqlite3文件的方法。
唯一不同的是在修改权限的步骤中,权限应修改为644。
具体代码是:
chmod 644 /system/lib/libncurses.so
so文件配置好之后,再试试在命令行中敲入sqlite3,看,是不是就能使用了。