一:adb常用命令大全
参考链接:https://github.com/mzlogin/awesome-adb
1. 关闭adb服务:adb kill-server
2. 开启adb服务:adb start-server
3. 查看当前连接的手机设备:adb devices
4. 获取系统版本: adb shell getprop ro.build version.release
5. 重启设备 adb reboot --指定虚拟设备 adb -s 设备名称 reboot
6. 查看日志 adb logcat 清除日志 adb logcat -c
7. 进入linux shell下 adb shell 其中常用的linux命令 cd cat 等等 输入su可以获取超级管理员名称了 要确定是否有哪些命令 进入 system/bin目录 就知道了
8. adb connect [ip:post] #代理链接
9. adb shell cat /sys/class/net/wlan0/address #获取MAC地址
10. adb install <name.apk> #安装应用包的路径
11. adb uninstall <name.apk> #卸载安装包必须填包名
12. adb install -r <name.apk> #保存缓存文件重新安装apk
13.adb disconnect <设备名> #断开连接
14. adb push filename /sdcard/ #文件复制到移动设备 ,后面跟设备目录
15. adb shell input tap #模拟位置点击(x,y)
16. adb shell input swipe #模拟滑动( x,y,x1,y1 ),还可传入滑动缓冲
17. uiautomator dump dump: creates an XML dump of current UI hierarchy #获取当前页面的UI层次,保存为xml文件
18. 发生文件到手机: adb push C:\Users\Administrator\Desktop\xx.txt /sdcard
19. 从手机拉取文件: adb pull /sdcard/xx.txt C:\Users\Administrator\Desktop
20.获取app包名和启动名(手机需要先打开对应的app)
1)Windows: adb shell dumpsys window windows | findstr mFocusedApp
2)adb shell dumpsys activity top | find "ACTIVITY" 查看包名/启动名
3)adb shell dumpsys activity activities | findstr "Run" 特别提醒,通过这个命令行查看启动名,上面的两个个有可能会出错
21.获取app启动时间 adb shell am start -W 包名/启动名
示例: adb shell am start -W com.yly.drawpic/.MainActivty
解释:TotalTime: app自身启动时间 WaitTime: 系统启动应用时间
二:adb模拟按键
keycode | 含义 |
---|---|
3 | HOME 键 |
4 | 返回键 |
5 | 打开拨号应用 |
6 | 挂断电话 |
24 | 增加音量 |
25 | 降低音量 |
26 | 电源键 |
27 | 拍照(需要在相机应用里) |
64 | 打开浏览器 |
82 | 菜单键 |
85 | 播放/暂停 |
86 | 停止播放 |
87 | 播放下一首 |
88 | 播放上一首 |
122 | 移动光标到行首或列表顶部 |
123 | 移动光标到行末或列表底部 |
126 | 恢复播放 |
127 | 暂停播放 |
164 | 静音 |
176 | 打开系统设置 |
187 | 切换应用 |
207 | 打开联系人 |
208 | 打开日历 |
209 | 打开音乐 |
210 | 打开计算器 |
220 | 降低屏幕亮度 |
221 | 提高屏幕亮度 |
223 | 系统休眠 |
224 | 点亮屏幕 |
231 | 打开语音助手 |
276 | 如果没有 wakelock 则让系统休眠 |
adb shell input keyevent 26 #执行效果相当于按电源键
如果锁屏没有密码,是通过滑动手势解锁,那么可以通过 input swipe 来解锁
adb shell input swipe 300 1000 300 500
参数 300 1000 300 500 分别表示起始点x坐标 起始点y坐标 结束点x坐标 结束点y坐标
adb shell input text hello
在焦点处于某文本框时,可以通过 input 命令来输入文本hello
三 实用功能
1)屏幕截图
将截图保存到电脑里(如果 adb 版本较老,无法使用 exec-out
命令,这时候建议更新 adb 版本)
adb exec-out screencap -p > sc.png
先将截图保存到设备里
adb shell screencap -p /sdcard/sc.png
然后将PNG推到设备里
adb pull /sdcard/sc.png
2)录制屏幕
录制屏幕以 mp4 格式保存到 /sdcard:
adb shell screenrecord /sdcard/filename.mp4
需要停止时按 Ctrl-C,默认录制时间和最长录制时间都是 180 秒。
如果需要导出到电脑:
adb pull /sdcard/filename.mp4
3)查看连接WIFI密码
注:需要 root 权限
adb shell
su
cat /data/misc/wifi/*.conf
查看示例:
network={ ssid="TP-LINK_9DFC" scan_ssid=1 psk="123456789" key_mgmt=WPA-PSK group=CCMP TKIP auth_alg=OPEN sim_num=1 priority=13893 } network={ ssid="TP-LINK_F11E" psk="987654321" key_mgmt=WPA-PSK sim_num=1 priority=17293 }
ssid
即为我们在 WLAN 设置里看到的名称,psk
为密码,key_mgmt
为安全加密方式。
4)进行Moneky压力测试
Monkey 可以生成伪随机用户事件来模拟单击、触摸、手势等操作,可以对正在开发中的程序进行随机压力测试。
简单用法:
adb shell monkey -p <packagename> -v 500
表示向 <packagename>
指定的应用程序发送 500 个伪随机事件。
Monkey 的详细用法参考 官方文档。