查看系统信息
- adb shell: 进入安卓系统内部
- adb devices: 查看设备ID
- adb shell getprop ro.build.version.release: 查看设备Android版本
- adb shell pm list users: 查看用户列表
- adb shell pm list package: 列举出手机中所有的package
- adb shell pm list package -3: 列举出所有自行安装的第三方应用package
针对软件操作
- adb install <安装包路径>: 安装apk包到手机中
- adb uninstall <package_name>: 卸载应用
- adb pull <手机中文件路径> <文件下载后存放路径>: 将手机中的文件下载到本地
- adb push <文件路径> <上传后的存放路径>: 将文件上传到手机中
- adb shell dumpsys activity | grep “mFocuse”: 获取手机当前的页面信息acticity信息
- adb shell monkey -p <package_name> -v -v -v 1: monkey执行应用1次并返回最高级别(最详细)日志
adb shell dumpsys window | grep mCurrent
获取当前页面的信息
1. app的完全清除
adb shell pm clear <package>
清理app缓存数据
adb shell am force-stop <package>
停止进程
经过上述两条命令之后再启动app时将会进行app的冷启动
2. 启动app/activite并统计时间
adb shell am start -S -W <package>/<activity>
启动指定app对应的activity
- S:启动前先停掉app
- W:等待activity启动完成
- 启动成功后会在控制台返回日志,如下
其中PS C:\Users\wyun2> adb shell am start -S -W <package>/<activity> Stopping: <package> Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=<package>/<activity> } Status: ok Activity: <package>/<activity> ThisTime: 874 TotalTime: 874 WaitTime: 877 Complete
ThisTime
,TotalTime
和WaitTim
的解释可参考文章:Android之App启动时间的统计方法
3. 录制屏幕及拆针分析
有时我们期望分析单一页面的跳转耗时,通过录屏并拆针后进行推测也许是个不错的方法(需要利用 ffmpeg)
adb shell screenrecord --bugreport --time-limit <time> <path>
进行录制- time:录制时间,单位为秒
- path:视频存放目录,该目录为移动设备下的目录,通常可设置为
/data/local/tmp/record.mp4
adb pull <path> <local_path>
将录制好的视频下载到本地ffmpeg -i <local_path.mp4> -r <帧数> <文件名>
将视频转换为gif格式的动图- 其中帧数代表将1秒拆成几帧。如设置为10,则意味着每0.1秒为一帧作为图片保存
- 文件名是保存图片时命名的格式。如
frames_%03d.jpg
代表文件名需要以frames_
开头,并以三位数字计数,当不满三位时在数位前用0补充,最后文件后缀为.jpg