APP专项测试常见的adb命令是通过ADB(Android Debug Bridge),我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。
1、 查看连接的设备 adb devices
该命令可以查看连接的adb的设备的情况,如果连接多个设备,均显示在结果中
2、 查看设备连接状态 adb get-state
结果可能有三种 offline 设备连接异常, device 正常 ,unknown 没有连接设备
一、查看日志 adb logcat
查看手机日志,ctrl+c结束
可查看手机四个缓冲区日志,包括radio, system,main,event ,其中radio存放通信的日志,比如通话短信等;event是表示手机按键输出等事件日志等;main指的是手机的应用软件的日志,是应用层日志输出;system是系统组件日志
如果使用logcat不指定输出哪个缓冲区的日志,默认输出main和system的日志,如果需要指定,则使用
adb logcat –b 指定缓冲区如 adb logcat –b main
也可以重定向输出到文件 adb logcat –b main > d:\main.log
-c 清理日志
logcat 是实时日志,即在输出日志过程中,如果你操作软件,同时也会输出日志
二、 adb bugreport
使用adb bugreport会 输出日志包括logcat日志,同时也包括功耗,cpu等信息日志
1、安装app应用
adb install d:/xxx.apk
其中xxx.apk是安装包名
2、卸载app应用
adb uninstall [-k]
packagename是应用包名,该包名是在开发过程中确定的,可以通过命令查看要卸载的应用包名,也可以从开发人员处获取;
adb shell pm clear
3、查看应用列表
方法一:adb shell pm list packages 查看所有的应用包名
方法二:adb shell dumpsys window | findstr mCurrentFocus查看正在运行的包名
技能000
方法三:通过tools下的工具查看aapt dump badging x.apk
4、获取cpu信息
adb shell cat /proc/cpuinfo 获取cpu信息(processor 的编号是 0 到 3,表4核,采用的架构是 ARMv7 Processor rev 0 (v71))
5、手机电脑相互拷贝文件
adb push d:\pushlog /dev/log从电脑上推送到手机
adb pull /dev/log/error.log d:\ 从手机上下载文件到电脑
6、adb root 进入root模式
7、adb shell 进入shell命令状态
Android是基于linux内核,因此在shell状态下可以使用linux的命令
查看分辨率adb shell wm size
输出电池信息adb shell dumpsys battery
adb shell dumpsys batterystats cn.mopon.film 获取cn.monpon.film应用的耗电情况
adb shell getprop ro.build.version.release获取系统版本号
8、adb kill-server
adb start-server
三重启设备
1、截屏
adb shell screencap -p /sdcard/sc.png
adb pull /sdcard/sc.png 把图片传到电脑
2、查看进程
adb shell ps
3、查看连接过的 WiFi 信息
adb shell
su
cat /data/misc/wifi/*.conf
注:需要root权限
4、获取mac地址(物理地址)
adb shell cat /sys/class/net/wlan0/address
5、查看当前内存占用
adb shell cat /proc/meminfo
6、重启手机
adb reboot
7、查看 adb 版本
adb version
8、清除应用数据与缓存
adb shell dumpsys activity activities | grep mFocusedActivity
adb shell dumpsys activity activities | ps mFocusedActivity
9、强制停止应用
adb shell am force-stop
adb push <电脑上的文件路径><设备里的目录>
10、查看cpu运行情况
adb shell top -m 10 -s cpu(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量)
11、windows下查看端口号
netstat –ano | findstr “5037”
Linux命令状态下查看 netstat –anp | grep 5037
12、adb shell am start –n 包名/入口
启动app
13、adb shell pm clear 包名
清除应用的数据和缓存
14、adb shell imput tap x轴坐标y轴坐标
坐标点击
常见错误及解决办法
在输入adb命令时,显示: more than one device and emulator
解决办法:
查看设备 adb devices
C:\Users\administrator>adb devices
List of devices attached
emulator-5554 device
4dfadcb86b00cf05 device
发现还真是多个设备,那就需要为ADB命令指定设备的序列号了。
C:\Users\administrator>adb -s emulator-5554 shell
也就是如上所示,给命令加上-s的参数就可以了!
如果实际上只有一个设备或模拟器,并且查到有offline的状态;
那就说明是ADB本身的BUG所导致的,就需要用如下的方法处理下了:
C:\Users\administrator>adb kill-server
C:\Users\administrator>taskkill /f /im adb.exe