入门

手册参考https://github.com/mzlogin/awesome-adb

ADB,全称为Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具。

有对IOS这方面感兴趣的,可以自行Google以下关键词:libimobiledevice、WebDriverAgent

1、ADB命令的安装:

brew cask install android-platform-tools

2、电脑和手机的连接:

1. 打开Android手机的USB调试模式,并连接到MAC电脑使用命令
    `adb devices` 查看已连接的手机
2. 如果找不到,则:使用命令 `system_profiler SPUSBDataType` 查看手机的VID
3. 并将VID写入到`~/.android/adb_usb.ini`文件中,该文件可能需要新建。
4. 使用命令 `adb kill-server` 停止服务
5. 使用命令 `adb start-server` 重启服务
6. 再次执行 `adb devices` 查看已连接的手机。

3、ADB常用命令(不断增加)

1. 查看ADB版本:adb version
2. 查看手机设备:adb devices
3. 查看设备型号:adb shell getprop ro.product.model
4. 查看电池信息:adb shell dumpsys battery
5. 查看设备ID:adb shell settings get secure android_id
6. 查看设备IMEI:adb shell dumpsys iphonesubinfo
7. 查看Android版本:adb shell getprop ro.build.version.release
8. 查看手机网络信息:adb shell ifconfig
9. 查看设备日志:adb logcat
10. 重启手机设备:adb reboot
11. 安装一个apk:adb install /path/demo.apk
12. 卸载一个apk:adb uninstall <package>
13. 进入模拟器的shell模式:    adb shell 
14. 查看系统运行进程:adb shell ps
15. 查看系统磁盘情况:adb shell ls /path/
16. 手机设备截屏:adb shell screencap -p /sdcard/aa.png
17. 手机文件下载到电脑:adb pull /sdcard/aa.png ./
18. 电脑文件上传到手机:adb push aa.png /data/local/
19. 手机设备录像:adb shell screenrecord /sdcard/ab.mp4
20. 手机屏幕分辨率:adb shell wm size 
21. 手机屏幕密度:adb shell wm density
22. 手机屏幕点击:adb shell input tap xvalue yvalue
23. 手机屏幕滑动:adb shell input swipe 1000 1500 200 200
24. 手机屏幕带时间滑动:adb shell input swipe 1000 1500 0 0 1000
25. 手机文本输入:adb shell input text xxxxx
26. 手机键盘事件:adb shell input keyevent xx
27. 连接多个手机设备时,指定手机设备:adb -s serialNumber <command>
28. 禁止旋转屏幕
    adb shell content insert --uri content://settings/system --bind name:s:accelerometer_rotation --bind value:i:0
29. 旋转屏幕
    adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1
    > i后面跟的不同的值代表旋转为不同的方向,取值范围为0,1,2,3

.....等等

显示区域

命令:

adb shell wm overscan 0,0,0,200

四个数字分别表示距离左、上、右、下边缘的留白像素,以上命令表示将屏幕底部 200px 留白。

恢复原显示区域命令:

adb shell wm overscan reset

4、ADB无线连接

保证手机和电脑处在同一个无线网络内
1. 在USB连接的基础上执行命令 `adb tcpip 5555` 
2. 断开USB连接,执行命令 `adb connect 192.168.x.x:5555`
3.  此时执行命令 `adb devices` 即可查看到连接的手机设备信息

如果没有网络adb 选项执行以下命令开启网络adb

```
    setprop service.adb.tcp.port 5555
    stop adbd
    start adbd
```
或者 `usb` 下 `adb tcpip 5555`

题外话:有了这个工具,就可以在手机上做很多比较好玩的事情。比如前段时间比较火的微信小程序游戏“跳一跳”,利用adb进行截屏,opencv进行图像处理,自动“跳一跳”得高分。 又比如一些自动点赞、刷票、打卡等小工具。大家如果有什么比较好的想法,或者以前有过类似的小项目经验,可以留言交流。