ADB常用命令
ADB(Android Debug Bridge)工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。
常见命令:
1、 查看连接的设备 adb devices
该命令可以查看连接的adb的设备的情况,如果连接多个设备,均显示在结果中
2、 查看设备连接状态 adb get-state
结果可能有三种 offline 设备连接异常, device 正常 ,unknown 没有连接设备
3、 查看日志 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 是实时日志,即在输出日志过程中,如果你操作软件,同时也会输出日志
4、adb bugreport
输出日志包括logcat日志,同时也包括功耗,cpu等信息日志
5、安装app应用
adb install d:/xxx.apk
其中xxx.apk是安装包名
6、卸载app应用
adb uninstall [-k]
packagename是应用包名,该包名是在开发过程中确定的,可以通过命令查看要卸载的应用包名,也可以从开发人员处获取;
adb shell pm clear
7、查看应用列表
adb shell pm list packages 查看所有的应用包名
adb shell dumpsys activity | find “mFocusActivity” 查看当前活动的包名
adb shell dumpsys window | findstr mCurrentFocus 查看正在运行的包名
8、获取cpu信息
adb shell cat /proc/cpuinfo 获取cpu信息(processor 的编号是 0 到 3,表4核,采用的架构是 ARMv7 Processor rev 0 (v71))
9、手机电脑相互拷贝文件
adb push d:\pushlog /dev/log 从电脑上推送到手机
adb pull /dev/log/error.log d:\ 从手机上下载文件到电脑
10、adb root 进入root模式
11、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 获取系统版本号
12、adb kill-server
adb start-server
重启设备
13、截屏
adb shell screencap -p /sdcard/sc.png
adb pull /sdcard/sc.png 把图片传到电脑
14、查看进程
adb shell ps
15、查看连接过的 WiFi 信息
adb shell
su
cat /data/misc/wifi/*.conf
注:需要root权限
16、获取mac地址(物理地址)
adb shell cat /sys/class/net/wlan0/address
17、查看当前内存占用
adb shell cat /proc/meminfo
18、重启手机
adb reboot
19、查看 adb 版本
adb version
20、清除应用数据与缓存
adb shell dumpsys activity activities | grep mFocusedActivity
adb shell dumpsys activity activities | ps mFocusedActivity
21、强制停止应用
adb shell am force-stop
adb push <电脑上的文件路径> <设备里的目录>
22、查看cpu运行情况
adb shell top -m 10 -s cpu(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量)
23、windows下查看端口号
netstat –ano | findstr “5037”
Linux命令状态下查看 netstat –anp | grep 5037
22、adb shell am start –n 包名/入口
启动app
23、adb shell pm clear 包名
清除应用的数据和缓存
24、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