ADB三个进阶使用

adb通过Wi-Fi连接手机

背景知识

Android系统底层运行着一个服务(adbd),也就是在手机系统内部,用于响应、管理大家在电脑端的adb命令连接,这个服务在启动时候会根据手机的配置监听USB或者网络其中之一。
配置属性为:

Wi-Fi连接手机具体步骤

ADB连接手机两种方法:USB(直接连接数据线)、Wi-Fi
First:
adb usb ——确认adb运行在USB模式下面。
➜ ~ adb devices
List of devices attached
8472e889 device

➜ ~ adb usb
restarting in USB mode

**Second: **
adb tcpip —— 重启adb,运行到TCP模式下
➜ ~ adb usb
restarting in USB mode
➜ ~ adb tcpip 5555
restarting in TCP mode port: 5555

Third:
查看Android设备IP
设置-关于手机-状态信息-ip地址
设置-WLAN-点击当前连接上的Wi-Fi查看IP
adb命令查看:adb shell net cfg

Four:
Adb connect连接设备。
➜ ~ adb connect 100.84.197.67
already connected to 100.84.197.67:5555
➜ ~ adb devices
List of devices attached
100.84.197.67:5555 device
8472e889 device

Five:
调试完成后,断开连接:adb disconnect 或者 adb usb
➜ ~ adb disconnect 100.84.197.67
disconnected 100.84.197.67
➜ ~ adb usb
restarting in USB mode
➜ ~

使用场景:
(1)USB状态下跑测试脚本;
(2)远程调试手机

详情参考

adb日志查看

命令:

adb logcat [<option>] ... [<filter-spec>] ...

[options]命令包括如下选项:
-s 设置过滤器,例如指定 '*😒'
-f 输出到文件,默认情况是标准输出。
-r [] Rotate log every kbytes. (16 if unspecified). Requires -f
-n Sets max number of rotated logs to , default 4
-v 设置log的打印格式, 是下面的一种:
brief process tag thread raw time threadtime long

-c 清除所有log并退出
-d 得到所有log并退出 (不阻塞)
-g 得到环形缓冲区的大小并退出
-b 请求不同的环形缓冲区 ('main', 'system', 'radio', 'events',默认为"-b main -b system")
-B 输出log到二进制中。

过滤器的格式是一个这样的串:
[:priority]
其中 表示log的component, tag (或者使用 * 表示所有) , priority 从低到高如下所示:
V Verbose
D Debug
I Info
W Warn
E Error
F Fatal
S Silent

eg: adb logcat -v time D

adb以root用户执行命令

格式:adb shell su -c 'chmod -R 777 xxxx'

Usage: su [options] [args...]

Options:
  -c, --command COMMAND         pass COMMAND to the invoked shell
  -cn, --context CONTEXT        switch to SELinux CONTEXT before invoking
  -d, -ad, --daemon, --auto-daemon
                                start the su daemon
  -i, --install                 check and repair su files
  -h, --help                    display this help message and exit
  -v, -V, --version             display version number and exit
  

ADB三个进阶使用

全文结束