![](https://i-blog.csdnimg.cn/blog_migrate/15cd572ab2772b64196e52aec090ab13.png)
1、查看连接设备
adb devices
2、adb shell pm 相关命令
adb shell pm clear com.xx ------清除数据数据
adb shell pm list packages ------列出所有应用
adb shell pm list packages -s ------列出系统应用
adb shell pm list packages -3 ------列出第三方应用
比如要查看包名包含字符串 test 的应用列
adb shell pm list packages test或
adb shell pm list packages |grep test
3、安装apk
adb install 路径
如何确定待测APP的包名:
adb logcat |findstr START
启动待测APP,日志中cmp和反斜杠/之间的信息即为包名
4、adb shell monkey
如何禁止系统事件(0是系统时间百分比)
adb shell monkey -p com.wuba --pct-syskeys 0 -v 100
5、adb logcat
adb获取当前页面的activity
方法一: adb logcat | findstr Displayed
方法二:进入adb shell
执行dumpsys window windows |grep -E 'com.wuba'
adb logcat 主要功能
logcat
(四类log buffer是main,radio,system,events)
adb logcat -v time > logcat.txt //默认是-b main -b system
adb logcat -v time -b main //main log
adb logcat -v time -b radio //radio log
adb logcat -v time -b system //system log
adb logcat -v time -b events
6、adb shell dumpsys
adb判断设备是否锁屏和黑屏状态
adb shell dumpsys window policy|findstr mScreenOnFully
若为true,即为点亮状态
若为false,即为黑屏状态
其他功能
adb shell dumpsys activity---------------查看ActvityManagerService 所有信息
adb shell dumpsys activity activities----------查看Activity组件信息
adb shell dumpsys activity services-----------查看Service组件信息
adb shell dumpsys activity providers----------产看ContentProvider组件信息
adb shell dumpsys activity broadcasts--------查看BraodcastReceiver信息
adb shell dumpsys activity intents--------------查看Intent信息
adb shell dumpsys activity processes---------查看进程信息
补充如下
linux:
adb shell dumpsys activity | grep "mFocusedActivity"
windows:
adb shell dumpsys activity | findstr "mFocusedActivity"
adb shell dumpsys package
包信息 Package Information
adb shell dumpsys meminfo
内存使用情况Memory Usage
adb shell dumpsys display | findstr DisplayDeviceInfo
7、adb shell am
am(ActivityManager)
响应时间测试(实际APP测试不能以此作为判断标准 )
adb shell am start -W com.wuba/.home.activity.HomeActivity
adb shell am start -W com.wuba/.activity.launch.LaunchActivity
- 如果只关心某个应用自身启动耗时,参考TotalTime;
- 如果关心系统启动应用耗时,参考WaitTime;
- 如果关心应用有界面Activity启动耗时,参考ThisTime。
8、adb shell monkey
常用组合
adb shell monkey -p com.xx --ignore-crashes --ignore-timeouts --ignore-security-exceptions --pct-syskeys 0 --throttle 200 500000 >sdcard/huaweimonkey0725.txt
其中com.xx指包名,如何获取adb logcat | findstr Displayed
200 为延迟时间,单位毫秒 500000为时间数
--ignore-crashes 忽视应用 crash 报错,不指定该参数时,
应用出现 crash,monkey 会自动停止发送事件,指定该参数后,
mongkey 会在 crash 后也一直发送事件,知道所有事件发送完成
--ignore-timeouts 忽视超时导致的错误,即ANR的错误
--ignore-security-exceptions 忽视权限方面的错误
--monitor-native-crashes 监控由 C/C++ 代码引起的 crash
--ignore-native-crashes 忽视由 C/C++ 代码引起的 crash
--kill-process-after-error 当出现错误后杀掉应用的进程
--hprof 指定该选项后,monkey会在发送事件完成后生成性能
报告,报告一般存放于/data/misc目录下
9、如何停止monkey
adb shell
ps | grep monkey
返回来的第一个数字,即是monkey的进程号
shell 7772 185 277516 22244 ffffffff 4010a58c S com.
Android
.commands.monkey
kill 命令结束进程继续输入:
kill 7772[刚才查到的进程号
10、adb shell monkey执行完查看崩溃日志
【Android】抓取log(anr)
第一步:adb shell
第二步:cd /data/anr(如果有anr目录继续执行第三步,如果没有
会提示没有此目录,那就不需要在去traces.txt文件了)
第三步:ls(查看存在的traces.txt 文件)
第四步:Ctrl+C退出,然后输入adb pull /data/anr/traces.txt E:\ 把traces.txt文件导入到E盘
ANRs (“Application Not Responding”),意思是”应用没有响应“。
11、查看权限
aapt dump badging apk路径(
查看apk包的packageName、versionCode、applicationLabel、launcherActivity、permission等各种详细信息)
12、测试APP是否过量耗电
adb shell logcat -v time
导出log中sending alarm行不含待测应用包名。若存在,则需要关注type为0和2的sending alarm是否频繁,若出现多次则说明有可能会造成过量耗电。
13、通过tcp命令连接手机后可以在手机和pc断开后发送指令:
首先通过USB线唤醒server,adb start -server,之后执行adb tcpip 5555,重置端口号:5555 ,查找手机IP后,执行adb connect ip ,连接成功后可以断开手机,执行adb -s 10.252.221.202:5555 shell monkey -p com.wuba -v 1000 等相关任务
补充:server与client通讯端口5037, adb server会与emulator交互,使用的端口有两个,一个是5554专用与emulator实例的连接,那么数据可以从emulator转发给IDE控制台,另一个则是5555,专门与adb daemon连接为后面调试使用
14、adb shell ps
执行完adb shell ps后
USER PID PPID VSIZE RSS WCHAN PC NAME
fu0_a349 31658 481 2405608 180692 ffffffff 00000000 S
USER: 进程的当前用户;
PID : 毫无疑问, process ID的缩写,也就进程号;
PPID :process parent ID,父进程ID
VSIZE : virtual size,进程虚拟地址空间大小;
RSS : 进程正在使用的物理内存的大小;
WCHAN :进程如果处于休眠状态的话,在内核中的地址;
PC : program counter,
NAME: process name,进程的名称
15 adb shell wm命令查看屏幕尺寸
如何获取
方法一
adb shell dumpsys window displays |head -n 3
输出类似如下信息:
WINDOW MANAGER DISPLAY CONTENTS (dumpsys window displays)
Display: mDisplayId=0
init=1080x1920 440dpi cur=1080x1920 app=1080x1920 rng=1080x1025-1920x1865
1080x1920 就是屏幕分辨率。
方法二 adb shell wm size
如何获取
(1)修改分辨率
adb shell wm size 1080x1920
adb shell wm size reset
(2) 修改dpi
adb shell wm density 480
adb shell wm desity reset