在上图中,除了最后一个红色的方框,其它方框都是adb shell下的命令。
【1】在Android程序中,一般创建的数据库存放在 /data/data/[应用程序包名]/databases 的目录下。
【2】cd 命令:文件夹跳转命令。ls 命令:查看某个文件夹下面有哪些文件。
【3】使用 "sqlite3 [数据库名称] " 命令来对某数据库进行一系列的 *** 作。
【4】在经过第【3】步骤后,可以使用 .tables 命令查看某数据库中包含哪些表。若要查询某表中包含的数据,在 sqlite>命令后输入查询的SQL语句即可查询,但要注意的是要以分号[]来结束该语句的输入。
【5】若在命令行中输入 adb shell 后,提示:adb不是内部或外部命令,也不是可运行的程序,或批处理文件,遇到这种情况是由于环境变量没有设置好的问题导致的。解决方法:在安装的Android sdk 包目录下的找到adb工具所在目录,一般是在...\android-sdk-windows\tools目录或者在...\android-sdk-windows\platform-tools目录下。把该目录添加到path环境变量中就OK了。
在Android中查看和管理sqlite数据库在Android中可以使用Eclipse插件DDMS来查看,也可以使用Android工具包中的adb工具来查看。android
项目中的sqlite数据库位于/data/data/项目包/databases中。
使用DDMS导出sqlite数据库。
1、首先打开android项目的调试模式,然后找到显示DDMS:
选择DDMS
2、切换到DDMS,显示File Explorer窗口,找到/data/data/
然后找到程序包的文件夹,打开databases,就能看到sqlite数据库文件了。选择将其导出。
这样就把sqlite数据库文件以文件的方式导出来了,然后使用sqlite界面管理工具如
sqlite administrator、sqlite man或者firefox插件sqlite manager等打开就可以了。
使用adb工具访问sqlite数据库
Android Debug Bridge(ADB)是Android的一个通用调试工具,它可以更新设备或模拟器中的代码,
可以管理预定端口,可以在设备上运行shell命令,我们知道android是基于Linux内核,它的内部
文件结构也是采用linux文件组织方式,因此访问它的文件结构需要使用shell。这次我们就会用shell
来访问android应用中的sqlite数据库文件。
1、运行cmd,切换到android-sdk目录,运行adb.exe,加上参数shell,出现#号就代表进入了shell
命令模式,注意adb要在Android模拟器运行时才能进入shell:
2、shell命令记住两个基本命令ls和cd,类似windows命令提示行中的dir和cd,代表列出当前目录下
文件列表和进入到指定目录。了解这两个命令之后,就可以找到data/data/项目包名/databases:
找到数据库文件:
接下来就是使用sqlite管理工具来进行 *** 作了。键入sqlite3 数据库名就进入了sqlite管理模式了。
在android的sdk中自带了sqlite3.exe,这是sqlite的官方管理工具,它是一个命令行工具。为了使用
方便,将其路径注册到系统环境变量path中,即将%Android_Home%加在Path中,这样只样运行sqlite3
,就能直接打开sqlite管理工具了。
sqlite管理数据库篇
sqlite命令行工具默认是以结束语句的。所以如果只是一行语句,要在末尾加,或者在下一行中键入
,这样sqlite命令才会被执行。
sqlite常用命令:
.tables--查看数据库的表列表
.exit--退出sqlite命令行
其他命令可随时.help查看帮助。sql命令可直接在此命令行上执行即可
鉴于题主刚接触Android测试,我来推荐一些测试小工具吧
Android端
1. Sqlite Editor
QLiteEditor是一款安卓平台上非常出色的专业数据库编辑器,可以查看,浏览,编辑 手机应用存储的SQLite数据库内容。可以编辑系统数据库(此功能需root权限)
2. 搜狗哆啦A梦(非常好用,强烈推荐)
功能覆盖Android端测试的方方面面,包括快速设置host、安装测试包、内存填充、一键搬家、快速卸载app、添加测试联系人等。
PC端:
1. 数据库查看工具SQLiteManager
打开数据库文件;导出数据库内容;对数据库进行增删改
2. HttpAnalysis
可抓起客户端发给服务器的请求,及服务器返回的内容
3. 磁盘填充工具FIllDisk
FillDisk工具的工作原理就是先生成1GB的文件,当磁盘空间不足1GB时,就生成512MB的,再不足就生成256MB的,以此类推,逐渐生成小文件,直至磁盘空间被全部填满。
这是执行结束后的效果:
4. 抓包工具 wireshark、fiddler等
wireshark使用场景:
- wrieshark抓的包信息量大(可以抓取所有通过网卡的包)
- 不能抓取https包
- 不能设置请求中的断点
fiddler使用场景:
- 捕获https会话
- 通过filter进行http统计
- 可选择设置断点修改Request。设置好断点后,可以修复httpRequest的任何消息包括host,cookie或者表单中的数据
- 可选择设置断点修改Response
- 抓取http请求(不走http代理的请求抓取不到)
参考文献:
http://duola.sogou.com/
http://www.chinanews.com/it/2016/03-25/7811188.shtml
https://www.wireshark.org/
http://www.telerik.com/fiddler
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)