adb学习笔记(三)之sqlite3,屏幕录制,logcat,monkey,wifi连接及其它
sqlite3
通过adb shell可以使用sqlite的命令来接入应用创建的sqlite数据库。sqliste3
包含很多有用的命令,如.dump
可以打印数据库内容,.schema
可以打印现在table的sql create声明,而且执行的速度很快。
你可以先连接到目标设备的远程shell再使用sqlite3命令,或者同时指定你要连接的数据库的full path,sqlite3的数据库保存在如下目录:/data/data/<package_name>/databases/
以下是一个例子:
|
|
进入sqlite3后就可以使用sqlite3的命令了,退出可使用exit
或者ctrl+d
.
屏幕录制
screenrecord
命令是一个用以录制android 4.4以上版本的设备显示的shell工具,将activity显示录入mpeg4文件中,你可以拿来当作视频展示用.也可用于录制视频宣传和教程.
其命令格式如下
|
|
使用ctrl+c来停止录制,或者3分钟后自动结束,或者可以用--set-limit
来设定超时时间.
以下是录制与下载视频文件的过程
screenrecord使用设备的显示分辨率和方向作为默认值,也可设定为任意支持的分辨率和比特率.
你应该知道的screenrecord局限:
- 有些设备可能不能以原生的分辨率录制,如果遇到问题可以高低分辨率再尝试
- 不支持录制屏幕旋转,如果录制中发生旋转,那么录像中的部分屏幕将被切除.
- 无声音
screenrecord选项
—help
打印帮助
—size <WIDTHxHEIGHT>
—bit-rate <RATE>
设定比特率,默认为4Mb/s,如screenrecord --bit-rate 6000000 /sdcard/demo.mp4
—time-limit <TIME>
设置录制时间,单位秒,默认为180s.
—rotate
将输出旋转90度,试验特性
—verbose
在CLI中打印日志,如果不设置运行时将无任何输出.
Monkey
UI/Application Exerciser Monkey是一个测试用的程序,它能产生大量伪随机但可重复的用户动作,如点击,按压,手势以及一些系统级的事件.
简单的使用命令如下,它将打开应用,发送500个随机操作.
|
|
更详细的文档参见 UI/Application Exerciser Monkey
其它shell命令
以下操作会列出所有可用shell命令
大部命令都有帮助信息.
下表列出最常用的5个命令的简介.
dumpsys
dump系统数据到屏幕
dumpstate
dump状态到文件
logcat [option]… [filter-spec]…
打开系统和应用的log并输出到屏幕
dmesg
打印kernel的调试信息
start/stop
开始(停止执行)一个设备实例
开启logcat
安卓的日志系统提供一种收集和查看系统调试信息的机制. 来自应用的系统不同部分的日志被缓存到一个环形的系列日志中,可以被logcat命令查看和过滤.
logcat的基本用法为:
|
|
关闭adb server
在一些情况下可能需要关闭adb server再启动,比如失去响应时,重启可能会解决问题.
使用kill-server命令可以终止server, 再次使用adb命令会自动启动server.
无线使用
adb通常通过USB使用,但是也可以使用WIFI连接.
- 将设备和adb主机连接到同一wifi下,但并不一定所有的wifi都适合, 也许还需要配置合适的防火墙规则.
- 将设备用USB连接到主机
确保adb以usb方式运行
12$ adb usbrestarting in USB mode通过usb连接设备
将adb主机以tcpip方式重启
12$ adb tcpip 5555restarting in TCP mode port: 5555查看设备的ip
将adb主机连接到设备
12$ adb connect #.#.#.#connected to #.#.#.#:5555断开usb,确认连接正常
如果连接断开,确认双方wifi正常,重新执行connect
动作,如果不成功,则可以kill-server
再从头来一次.