APP测试-adb命令

常用的

1.adb devices 获取设备信息

状态:
device 正常,可调试

offline 仅连接不能调试,可能adb与安装系统不匹配
unauthorized 连接后不能调试,未在手机同意调试

adb devices -l 手机相关信息

command c 终止当前命令

2.adb -s 设备号 多个模拟器


3.adb install apk路径 安装应用



adb install -r apk路径 覆盖安装

4.adb uninstall apk包名 卸载应用

5.adb pull /设备文件路径/ \计算机文件路径\ 设备文件拉到计算机

6.adb push \计算机文件路径\ /设备文件路径/ 计算机文件推到设备

7.adb start-server 开启服务

8.adb kill-server 关闭服务

9.adb reboot 重启手机

10.adb logcat 查看日志

将日志打印到计算机 adb logcat >文件路径/文件名+后缀(>重定向的意思)
adb logcat >/Users/zhangshan/Desktop/logcat.txt
adb logcat ->C:/log03.txt(Windows)
将日志打印到手机 adb logcat -f 文件路径/文件名+后缀

打印日志

adb logcat -v time *:e -v 参数 time 时间戳 -打印相关参数
adb logcat | grep 关键字 过滤相关日志
adb logcat -v time | grep "Push" 过滤单个关键字
adb logcat -v time | grep "Push|Pull" 过滤多个关键字
adb logcat -v time | grep E/AndroidRuntime 过滤异常信息

分析日志

I 提示信息 (information)
V 所有信息 (verbose)
D 调试信息 (debug)
W 警告信息 (warning)
E 错误信息(error crash fatal except )
PID (进程ID)

分析错误信息

搜索 crash
Fatal Exception 开头
Force finishing 结束
正文: 方法调用栈
java.lang.RuntimeException:报错应用包名及activity
java.lang.异常类型
Caused by 错误原因
java:代码行

分析anr无响应

搜索 ANR in 后跟包名
Reason 错误原因
根据CPU分析是不是CPU过高导致
anr信息,存在设备 /data/anr/traces.txt中,存放方法调用栈信息

11.adb shell 登录设备 远程执行Linux命令

常用Linux命令

cd /文件路径/ 进入到设备文件

system系统安装的应用(不可卸载)


data 第三方安装的应用(可卸载)

数据目录 data/data


ls 查看所有文件

ls -l 查看文件详细信息 ll


cat 查看文件内容
find 查找文件
mkdir pp 创建名为pp的文件夹
vmstat 查看资源使用情况

exit 退出

13.adb shell ps 查看进程


ps | grep 进程名 过滤进程

14.adb shell pm list package 安装应用包名

aapt d badging apk路径 apk详细信息

15.adb shell pm clear 包名 清除应用数据

16.adb shell am force-stop 包名 杀死进程

17.adb shell am start -n 包名/activity名 启动应用到指定activity

18.adb shell screencap -p >/计算机路径/+文件名+后缀 屏幕截图到计算机


或者 adb shell /system/bin/screencap -p /sdcard/screenshot.png
adb pull /sdcard/screenshot.png /Users/zhangshan/Desktop/

20.adb shell cat /proc/meminfo 获取内存情况

21.adb shell dumpsys meminfo 包名 获取单个应用内存情况


adb shell dumpsys meminfo com.douban.frod

22.adb shell dumpsys cpuinfo 获取cpu情况

23.adb shell dumpsys package 包名 | grep uid 获取uid

adb shell dumpsys package com.douban.frodo |grep uid

通过uid获取流量
adb shell cat /proc/net/xt_qtaguid/stats | grep 10070

24.adb shell dumpsys activity | grep 'mFocusedActivity'获取当前启动APP包名

30.adb shell 'top -n 1|grep com.douban.frodo' 获取单个应用最高的CPU占用

31.adb shell 'ps |grep com.douban.frodo' 获取APP的pid

32.adb shell 'ps |grep com.douban.frodo' 获取APP的pid

33.adb shell cat /proc/pid号/net/dev通过pid获取流量


34.adb shell logcat >文件路径 log打印到手机中

adb shell
logcat -v > /sdcard/log1.txt &

以下是不常用的

40.adb version 查看adb版本号

41.adb concent 127.0.0.1:设备端口号 查看设备连接状态

42.netstat -ano | gerp 端口进程号(adb默认是5037)解决adb端口被占用
taskkill -f -pid 进程号 杀死进程
43.adb connect 通过WiFi远程连接手机
adb disconnect 取消WiFi远程连接手机

参考文章:https://blog.csdn.net/HDFQQ188816190/article/details/98599940

posted @ 2020-02-03 14:46  张珊33  阅读(529)  评论(0编辑  收藏  举报