ADB(Android Debug Bridge)是一种功能强大的命令行工具,用于与Android设备进行通信和调试,这里来总结一下常用的ADB命令:
一、常用的命令
1. 连接与设备管理
-
adb devices
列出已连接的设备及其状态。 -
adb connect <IP地址>:<端口号>
通过网络连接设备,适用于无线调试。 -
adb disconnect <IP地址>:<端口号>
断开与设备的连接。 -
adb kill-server
/adb start-server
停止或启动ADB服务器。
2. 应用相关
-
adb install <APK路径>
安装APK应用。 -
adb uninstall <包名>
卸载指定包名的应用。 -
adb shell pm list packages
列出设备中所有安装的应用包名。
3. 文件传输
-
adb push <本地路径> <设备路径>
将文件从本地传输到设备。 -
adb pull <设备路径> <本地路径>
将文件从设备传输到本地。
4. 日志与调试
-
adb logcat
实时查看设备的日志输出,通常用于调试。 -
adb logcat -d > log.txt
将日志导出到本地文件。
5. 设备控制
-
adb reboot
重启设备。 -
adb reboot recovery
重启设备进入恢复模式。 -
adb reboot bootloader
重启设备进入bootloader模式。 -
adb shell
进入设备的命令行环境,执行各种Linux命令。
6. 其他常用命令
-
adb shell screencap /sdcard/screen.png
截取设备屏幕截图。 -
adb shell screenrecord /sdcard/demo.mp4
录制设备屏幕视频。 -
adb shell input text "<字符串>"
在设备上模拟输入指定的文本。 -
adb shell input keyevent <keycode>
模拟按键事件,如adb shell input keyevent 26
(电源键)
二、使用ADB命令操控手机或模拟器
滑动屏幕
我们找到需要滑动的坐标,然后输入我们想要滑动的坐标,
adb shell input swip x y x1 y1 滑动 x 横坐标 y纵坐标,起点是屏幕左上角为0,0
比如:adb shell input swip 500 500 200 500 //这是向左滑动
点击页面上的坐标点
adb shell input tap x1,y2
键码表
adb中有各种事件,我们需要查阅一下键码表来查看事件码,键码表可以参考我的这个帖子
我们来说一下怎么用
//这条命令相当于按了设备的Backkey(返回)键
adb shell input keyevent 4
//可以解锁屏幕 adb
shell input keyevent 82
//在屏幕上做划屏操作,前四个数为坐标点,后面是滑动的时间(单位毫秒)
adb shell input swipe 50 250 250 250 500
//在屏幕上点击坐标点x=50 y=250的位置
adb shell input tap 50 250
//输入字符abc
adb shell input text abc
查看手机的分辨率
adb shell wm size
把电脑端文件推送到移动端
我们输入adb push 后直接把文件拖进cmd中就会自动写上路径,然后/sdcard/是把这个文件上传到手机的sdcard的文件中
adb push 电脑文件 /sdcard/
比如我们上传一个KKKW.pkt的文件到手机里,我们就可输入
adb push C:\Users\suqi2\Desktop\KKKW.pkt /sdcard/
注意:我们上传的文件路径中不能有中文,一定不能有中文路径,不然上传以后没有文件后缀,就是上传失败!!!
我们么来看一下效果,首先输入 adb shell ,让后我们输入 cd sdcard 进入sdcard中,再输入 ls 查看所有文件,我们就能看到我们上传的这个文件了
我们输入adb shell是进入了shell命令中,这里面是用的Linux命令进行操作的,我们想要回去用adb命令就输入 exit 即可
移动端文件拉取到电脑端
操作和上面相似,输入
adb pull /sdcard/文件名 PC路径
覆盖安装
adb install 路径/文件.apk
保留原来数据,进行覆盖安装,这个-r是参数,可以变的
adb install -r 路径/文件.apk
之前安装了高版本的app,现在想要在这里面安装低版本的app可以加参数-d
adb install -d 路径/文件.apk
安装时候赋予app 运行所有权限
adb install -g 路径/文件.apk
卸载
卸载对应的app ,要加上包名
adb uninstall 包名
我们说一下怎么查看包名
手机APP有两种,一种是系统自带的,一种是第三方的
我们可以用adb 命令查看
adb shell pm list packages 查询所有应用
adb shell pm list packages -s 查看手机系统应用
adb shell pm list packages -3 查看手机第三方的应用
查看手机端的包名和对应的活动窗口
adb shell dumpsys window | findstr mFocusedApp
这个玩意就是包名
卸载也有多种卸载方式
adb uninstall [-k] 包名 卸载的时候保留数据和缓存信息
adb shell pm clear 包名 清空app数据,相当于卸载之后又安装
查看日志
做测试的时候我们需要查看日志来看错误信息,adb命令可以查看日志
直接在终端上查看
adb logcat
输出日志到一个日志文件
adb logcat >E:\app\loging.log
回车后会看到这个文件
打开它里面就是输出的日志信息
追加日志信息到现有的日志中
adb logcat >>E:\app\loging.log
回车后我们能看到我们追加的日志信息 ,这里我们看日期能够看出来
将日志输出到手机上
adb logcat -f 手机端路径
输出日志的时候,只展示对应级别以上的日志信息,这里只看W等级以上的错误
adb logcat *:W
这里是adb的错误等级
V——Verbose(最低等级,开发调试中的一些详细信息,仅在开发中使用,不可再发布产品中)
D——Debug(调试,用于调试的信息,可以在发布产品中关闭,比较常见)
I——info(信息,一般提示性的信息)
W——Warning(警告)
E——Error(错误,已经出现可影响运行的错误,比如应用crash时输出的日志)
使用不同的颜色来显示每个优先级
adb logcat -v color
adb shell dumpsys wifi | more
将来展示信息的时候可以分屏展示,想要看下一页的时候,可以点击空格查看,不想看了,可以点击q退出
查看电池信息
adb shell dumpsys battery
AC powered: false //false表示没有使用AC电源供电
USB powered: true //true表示使用USB电源供电
Wireless powered: false //false表示没使用无线电源
status: 2 //2表示电池正在充电,1表示没充电
health: 2 //2表示电池状态优秀
present: true //true表示已安装电池
level: 42 //电池百分比
scale: 100 //满电量时电池百分比为100%(不确定是否正确)
voltage: 3868 //电池电压
temperature: 330 //电池温度为25摄氏度
technology: Li-ion //电池类型为锂电池
判断手机是否处于锁屏状态
adb shell dumpsys power
查看我的app对于cpu的使用率
adb shell dumpsys cpuinfo
查看app对于内存使用
adb shell dumpsys meminfo
实时查看app对于资源的消耗
adb shell dumpsys top
ctrl + c 退出
指定查看某个app对于资源的消耗
adb shell top | find 包名
注意这里包名要加双引号
查看手机系统的分区信息
adb shell
df