sqlite3 为一个可执行脚本程序,在system/xbin/下面,某些品牌手机rom 不带这个东西,导致没有该工具。
所以在进行开发的时候在命令行用 adb 连接到手机使用 sqlite3 查看数据库出现
sqlite3:not found
网上搜索了一下,也有关于此问题的解决方法。
不过这里我给出一个相对来说比较简单的:
1、查看你手机的Andorid的版本,比如我的是 4.4.4
2、在android studio中打开对应版本(很重要,否则会提示cannot locate 'sqlite3_enable_load_extensions')的模拟器(创建 如果没有)并且启动
3、在DDMS窗口的File Explorer面板下展开system > xbin
DDMS窗口在android studio中需先打开Android Device Monitor(如下图)
然后可以看到如下DDMS窗口
打开system文件,看到了sqlite3 了么(见下图)?ok。点击右上角的软盘图标(pull a file from the device) 将其保存到其他位置 (如果此流程出现问题,可参靠文件管理常见问题和adb配置)
当然你也可以直接在网上找适合你手头的android版本的sqlite3(有部分android版本可兼容低版本的sqlite3)
这里附上android4.4.2模拟器(适用于4.4.2-4.4.4)导出的sqlite3下载地址:点击打开链接
4、然后连接你的手机,打开控制台,输入adb shell。(什么?提示adb命令无效?那去配置环境变量吧,有关adb及文件权限管理可参靠文件管理常见问题和adb配置)
5、然后查看一下提示符 如果是 # 那就不用管了,如果是 $ ,那么说明你需要获得root权限进行下面的操作
(可以到豌豆荚之类的应用商城下载KingRoot或其它一键root软件)
6、保持手机屏幕没有锁屏最好是常亮模式 在提示符下敲入 su 或者 su root,如果手机弹框提示是否允许获得root权限请选择 是。点击后发现 $ 变成 # 了。OK 可以进行下面的操作了
7、将先前保存其他位置的sqlite3 在DDMS面板中通过右上角手机图标(push a file onto the device) 将文件push到sdcard中,准确的是在/mnt/sdcard
8、然后装个“装个RE文件管理器”,然后授予RE Root权限,接着来到根目录,然后授予RE Root权限,接着来到根目录。
9、长按/mnt/sdcard 中的sqlite3后会弹出下面的框,把所有选项都勾上(更改权限),同样的,返回到根目录后进入到/system目录下,长按/system目录下的XBIN文件后(如果没有则新建)把所有选项也勾上,最后将/mnt/sdcard 中的sqlite3移动至/system/XBIN目录下即可。
按好的 大功告成。你可以试试敲入sqlite3试试了。可以看到可以正常使用了。
接着依次输入下述指令:
- sqlite3 my.db :打开数据库文件
- .table 查看数据库中有哪些表 接着你直接输入数据库语句就可以了,比如查询:Select * from person
- .schema:查看建表语句
- .quit:退出数据库的编辑
- .exit:退出设备控制台