1. 连接设备
以wifi方式连接设备
adb tcpip 5555
adb connect 192.168.10.27
adb -s 192.168.10.27
adb wifi连接设备,提示failed to connect to '172.16.200.69:5555': Connection refuse
解决方法:
adb shell(用数据线连接)
setprop service.adb.tcp.port 5555
重新打开手机设置里的开发者模式
之后再用wifi连接就可以了
2. 列出手机安装的包
adb shell pm list packages -3
adb shell pm list packages
3. 查看运行APP当前页面Activity名称:
adb -s 192.168.1.28:5555 shell "dumpsys window | grep mCurrentFocus"
4. adb获取包名以及当前运行的activity
adb shell dumpsys window windows | grep -E 'mCurrentFocus|FocusedApp'
5. 监控App的cup的命令
adb -s 192.168.10.27:5555 shell dumpsys cpuinfo | grep com.xxx.xxx
6. 获取设备ID
adb -s 192.168.10.27:5555 shell settings get secure android_id
7. 获取手机的设备型号
adb -s 192.168.10.27:5555 shell getprop ro.product.model
8. 获取手机的Mac地址
adb -s 192.168.10.27:5555 shell cat /sys/class/net/wlan0/address
9. 获取手机的IMEI(不一定能获取到)
adb -s 192.168.1.28:5555 shell getprop gsm.baseband.imei
10. 获取android系统版本
adb -s 10.58.86.223:5555 shell getprop ro.build.version.release
11. 获取设备上已安装应用的包信息
adb shell package <package name> //获取全部信息
adb shell package <package name> | grep xxx //获取xxx信息
12. 获取设备的分辨率
adb shell wm size
13. 查看安装包的位置:
adb shell packages -f 查看安装包的位置
adb shell packages -f |grep baoming(关键字) 筛选查看安装包的位置
14. 查看危险权限
adb shell排名list permissions -d -g
15. 查看安装包应用信息
adb shell dunpsys package <package name> // 获取apk的全部信息
adb shell dunpsys package <package name> |grep version //获取xxx(version)相关的信息
16. 查看设备的安装版本
adb shell getprop ro.build.version.release //android 版本
adb shell getprop ro.build.version.sdk //android 版本对应的api
17. 日志抓取
adb logcat -v time /User/xx/xx/log.txt //抓取日志并保存到某个路径下
adb shell
logcat -v time >/mnt/usb/xxx/log.txt //抓取日志并保存到外接U盘中(如电视的外接U盘的路径一般是/mnt/usb/xxx)
adb logcat命令参数说明
--"-s"选项 : 设置输出日志*:s的标签, 只显示该标签的日志;
--"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
--"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
--"-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;
--"-v"选项 : 设置日志的输出格式, 注意只能设置一项;
--"-c"选项 : 清空所有的日志缓存信息;
--"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;
--"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
--"-g"选项 : 查看日志缓冲区信息;
--"-B"选项 : 以二进制形式输出日志;
18. 启动App应用
adb shell am start -n package/package-activity
adb shell am start -n com.twitter.android/com.twitter.android.StartActivity
19. 计算App 冷启动时长
即进程首次启动所需的时间。为了计算得更加准确,通常需要将以下两条命令配合使用多次,算出平均冷启动时长。
adb shell am start -W -n package/activity //启动App
adb shell am force-stop package // 后台杀死App
20. App热启动时长
即进程未被杀死,退到后台再次启动所需的时间。为了计算得更加准确,与冷启动测试过程相同,需要将以下两条命令配合使用多次,算出平均热启动时长。
adb shell am start -W -n package/activity //启动App
adb shell input keyevent 3 //切换App至后台
21. 通过aapt命令(非adb命令) 获取package name 和activity name
aapt dumpsys badging package_patth
22. FPS:显示有关与录制阶段期间发生的动画帧相关的性能信息
adb shell dumpsys gfxinfo
23. 功耗相关: 查看电池信息
adb shell dumpsys battery
24.adb命令连接代理
adb shell settings put global http_proxy ip:prot //为设备设置代理
adb shell settings put global http_proxy :0 //取消设备的代理设置
如:adb shell settings put global http_proxy 192.168.200.66:8888
25. 重启应用
adb rebbot
26. 清除apk数据与缓存
adb shell pm clear <packagename>
27. 查看栈顶Activity,可以用来获取包名
adb shell dumpsys activity top
28.查看设备CPU架构信息
adb shell cat/proc/cpuinfo
29. 指定包名杀死app进程
adb shell am force-stop <app包名>
如:adb shell am force-stop com.test
30. windows下 cmd内查询文件的md5值
certutil -hashfile 文件名 md5
31. 下载trace文件
adb pull /data/anr/traces.txt 文件存放地址/文件名.txt
如:adb pull /data/anr/traces.txt ./
adb pull /data/anr/traces.txt C:\Users\86183\Desktop\traces.txt
CPU相关
1. 显示占用CPU最大的5个应用
adb shell top –m 5
2. 查看CPU信息
adb shell dumpsys cpuinfo
3. 查看常驻内存
top|grep com.xxx.xxx
3. 查看cpu占用率:
使用命令top-m 10 -s cpu(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量)
4. 查看某应用的实时信息
top -p <pid>
top -d 3 |grep -E "关键字 |com.xxx.xxx“
如: top -d 3 |grep -E "USER |com.xxx.xxx“
内存相关
1. 查看内存信息
adb shell dumpsys meminfo <package_name> 或 <package_id>
2. 查看内存
adb shell dumpsys meminfo
adb shell dumpsys meminfo <package name> //查看某apk的内存
adb shell dumpsys meminfo <package pid> //用pid查看某apk的内存
比如:查看com.duowan.mobile
adb shell dumpsys meminfo com.duowan.mobile
另外还有一个命令
adb shell procrank
内存的各个参数:
VSS - Virtual Set Size虚拟耗用内存(包含共享库占用的内存)是单个进程全部可访问的地址空间。
RSS - Resident Set Size实际使用物理内存(包含共享库占用的内存)是单个进程实际占用的内存大小,对于单个共享库,尽管无论多少个进程使用,实际该共享库只会被装入内存一次。
PSS - Proportional Set Size实际使用的物理内存(比例分配共享库占用的内存)。
USS - Unique Set Size进程独自占用的物理内存(不包含共享库占用的内存)USS是一个非常非常有用的数字,因为它揭示了运行一个特定进程的真实的内存增量大小。如果进程被终止,USS就是实际被返还给系统的内存大小。USS是针对某个进程开始有可疑内存泄露的情况,进行检测的最佳数字。怀疑某个程序有内存泄露可以查看这个值是否一直有增加。
一般情况:VSS>= RSS >= PSS >= USS。
我们经常说的内存占用一般指的是PSS实际使用的物理内存.
3. 稳定性/压力测试
使用monkey命令,执行500个随机操作
adb shell monkey -v -p your.package.name 500