android ADB连接手机sqlite

之前使用adb连接android手机的sqlite3遇到了许多问题,今天总结一下。如果看本文章来操作的话,最好能全部看完再进行。如果一边操作,一边看,可能要重复几次才能成功

正常流程

 如果说手机一切正常,只需要使用adb shell就可以连接到手机上了,然后在/data/data/包名/databases里找到对应的数据库文件,直接用sqlite3 数据库文件名就可以直接运行了。剩下想查看数据表,使用sql语句都随你了。http://www.runoob.com/sqlite/sqlite-commands.html(这个是sqlite命令的网站可以查看,sqlite和mysql有些语句不一样)

非正常情况

1.确认手机是否root

但是往往都不能直接顺利完成上面的流程。在完成上面的流程之前,首先需要手机是root之后的,没有root的手机自己去root,这里就不提供教程了,网上大片大片的,一搜就有。

2.sqlite3命令找不到

root之后的手机,可以先用adb shell连接上,然后运行sqlite3,如果找不到这个命令。先看一下/system/xbin下有没有sqlite3这个文件,一般情况下是没有的。这就需要我们从其他地方拷贝一份到这个文件夹下。在电脑上新建一Android个模拟器,使用adb pull /system/xbin/sqlite3 从模拟器上下载下来sqlite3这个文件。这个文件存在执行这个命名的文件夹下。接下来使用adb push sqlite3 /system/xbin 命令把sqlite3拷贝到手机的/system/xbin文件夹下

3.permisson deny

如果在执行adb push命令的时候,提示没有权限,可以尝试使用su命令,获取管理员权限,然后使用chmod 777 /system/xbin 把/system/xbin这个文件夹变成可读写的,再次尝试,如果还是不行的话,直接在手机上下载一个root exploer手机软件,考到对应文件夹下就好了

4.can not open 文件或者文件break

如果是这样情况,先确定下你的文件从生成到现在就没有删除过。如果没有删除之类的操作,就要看一下开始的adb pull的模拟器是x86架构的还是arm架构的,需要跟手机的架构匹配。

5.PIE错误

如果出现这个错误的话,可能是模拟器的api版本和手机api的版本不一致造成的。也只能从新选择一个模拟器的api版本,从新下载一遍。

这些是我遇到的全部问题,如果有其他的问题可以留言,大家一起讨论

    原文作者:大tuotuo
    原文地址: https://www.jianshu.com/p/16b212b2e928
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞