安卓开发,adb shell 调试sqlite3数据库
安卓开发,adb shell 调试sqlite3数据库
在安卓中创建了sqlite3数据库,想要调试怎么办? 通过adb shell来进行查看。
第一步,将adb加入到系统变量中。


这样就可以在命令行中使用adb指令了。
输入adb shell,就可以连接电脑上的安卓模拟器,或者与电脑连接的手机了。
使用adb指令的时候,手机最好有root权限,不然好多指令都用不了。


有root权限,才能进入su root指令模式,才能查看ls的内容。
每个app,都有一个目录,cd data/data/demo.jq.com.databasetest/databases 就可以进入到相应的数据库目录下面。
然后通过sqlite3指令查看数据库情况。
要想使用sqlite3,必须要确保手机上有sqlite3工具。

如果没有,可以通过360手机助手,从电脑上传入到system/xbin目录下面。
还有个坑,要确保sqlite3的版本跟手机版本匹配,可以去网上下载相应的版本。
从虚拟机导出的sqlite3文件,push到手机里,然后操作数据库发现不能用!
报:sh: /system/xbin/sqlite3: not executable: magic 7F45错误。
原来它是要使用跟你真机CPU型号相同的sqlite3文件,比如你的测试机是4.2版本,而你的studio的SDK是5.0以上版本,这样你从虚拟机里导出的sqlite3文件5.0版本,而你手机想对应的应该是4.0版本,那sqlite3文件会不匹配,所以报这个错误!只需要下载跟手机想符的sqlite3文件就可以了,5.0是一个分水岭!
这里面有个坑,就是当你通过su root进入的时候,输入sqlite3的指令会不显示。调试的时候,不要使用su root进入就可以了。

使用adb shell的时候,有时候连接不上,原因有两种,一个是手机与电脑断开了。或者是360手机助手跟adb shell冲突了。可以进入进程管理中,把手机助手杀掉。
通过adb shell 就可以方便的调试sqlite3数据库了。
小结,这小小的调试,遇到了很多坑。一点点跳出来了,也是蛮有意思的。
安卓开发,adb shell 调试sqlite3数据库的更多相关文章
- 安卓虚拟机adb shell sqlite3数据库
adb shell 连接: //http://www.cnblogs.com/xiaobo-Linux/ Android把数据都存放在data/data目录下. 我们使用cd命令转到data/data ...
- adb shell 操作sqlite数据库
程序中数据库文件路径在/data/data/<package name>/databases/ adb shell 进入adb命令行 ls 列出当前文件夹下所有文件 假设有一个名为a ...
- adb shell使用
adb shell可以用来操纵数据库 1.在cmd界面 输入adb shell 进入adb shell 2.使用cd 切换到工作目录:使用ls查看文件 3.使用sqlite3+数据库名字 打开某个数据 ...
- 【安卓手机通用】android adb shell 命令大全
浏览:3116 | 更新:2013-10-17 17:05 | 标签:安卓 android 一.[什么是shell] Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口.它是命 ...
- Android开发--adb,SQLite数据库运用
一.玩转adb adb的全称为Android Debug Bridge,就是起到调试桥的作用. adb有什么用?:借助adb工具,我们可以管理设备或手机模拟器的状态.还可以进行很多手机操作,如安 ...
- Android开发-略讲adb命令和SQLite数据库运用
adb.exe ADB -Android Debug Bridge, 是 Android sdk 里的一个工具,用这个工具可以直接操作管理 Android 模拟器或者真实的 Android 设备 简 ...
- android进入adb shell步骤及修改sqlite数据库文件的权限
1 准备工作 (1)将adb.exe从 \Sdk\platform-tools目录下移动到 \Sdk\tools目录下(主要是看emulator这几个文件在哪个文件夹就把adb.exe移动到哪个文件 ...
- 安卓开发笔记(十三):SQLite数据库储存(下)数据的增添,更改,删除,查询
SQLite数据库存储(下) 1.增添数据 对于添加数据的话我们只需要在主活动当中import新的包以及在主活动当中写上适当的代码就可以了,不需要在我们之前创建新的类当中书写新的代码.现在的主活动 ...
- 通过adb shell操作android真机的SQLite数据库
要通过命令行直接操作android真机上的SQLite数据库,可以直接通过adb shell来完成,不过,前提是必须获得root权限. 另外,android系统其实就是linux的shell,这个应该 ...
随机推荐
- MySQL主从复制与读写分离(非原创,谢绝膜拜)
MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践 Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过.但在实际的生产环境中, ...
- WinServer-IIS-请求筛选
这个实在太多了,可以比较好的控制网站的访问 来自为知笔记(Wiz)
- 关于Servo项目中Rust代码行数的数据来源
我两个月之前的一篇博客<为什么我说Rust是靠谱的编程语言>(下面简称原文),在当中"6. 两个半大型成功案例"一节.我以前写道: Servo: 下一代浏览器渲染引擎( ...
- MySQL事件调度器Event Scheduler
我们都知道windows的计划任务和linux的crontab都是用来实现一些周期性的任务和固定时间须要运行的任务. 在mysql5.1之前我们完毕数据库的周期性操作都必须借助这些操作系统实现. 在m ...
- Android生命周期里你也许不知道的事
Android生命周期预计连刚開始学习的人都再熟悉只是的东西了,但这里我抛出几个问题.也许大家曾经没有想过或者可能认识的有些错误. 一.当A启动B时,A和B生命周期方法运行的先后顺序是如何的?当按返回 ...
- JAXB xml与javaBean的转换
转自:https://blog.csdn.net/lydong_/article/details/79812626 `1. 1.不认识到犯错,然后得到永久的教训. 也不是所谓的教训吧,真正的教训来自于 ...
- win32编程 画图
void cDefense::DrawAll() { HDC hDc = GetDC(m_hWnd);//获取客户区窗口,如果该值为NULL,GetDC则获整个屏幕的窗口. HDC dcMem = C ...
- C++如何调用C#编写的 DLL
由于C#编绎出来的DLL不是计算机所能直接识别的二进制指令码,需要CLS进行再解释,说到这,我想有些朋友应该知道C#项目需要引用C++编写的DLL时,可以直接引用DLLMPORT来实现调用,而反向的话 ...
- Adobe ZXPInstaller 报错 Installation failed because of a file operation error.
1. Drag a ZXP file or click here to select a file. 拖放一个 zxp 文件或点击打开选择一个 zxp 文件来安装: 2. Installation f ...
- 在vue组件中style scoped中遇到的坑
在uve组件中我们我们经常需要给style添加scoped来使得当前样式只作用于当前组件的节点.添加scoped之后,实际上vue在背后做的工作是将当前组件的节点添加一个像data-v-1233这样唯 ...