什么是 ADB?
ADB,全称 Android Debug Bridge,中文叫“安卓调试桥”。
是 Android 提供的一个 命令行工具,用来和 Android 设备进行通信。
ADB 下载与安装
👉 官方下载链接(全平台) 需翻墙
步骤:
-
下载并解压(比如解压到C:\study\platform-tools_r34.0.4-windows\platform-tools
s
) -
将解压后的路径加入系统环境变量(Windows):
操作步骤:
-
打开“环境变量”
-
找到
Path
,点击编辑 -
新增一行:
C:\study\platform-tools_r34.0.4-windows\platform-tools
-
保存并重新打开终端
-
-
验证安装:
adb version
看到版本号即安装成功
如何连接设备
1. 连接 USB 后启用调试
-
手机进入开发者模式:
-
设置 → 关于手机 → 连续点击“版本号”7次
-
-
开启 USB 调试:
-
设置 → 系统 → 开发者选项 → 启用 “USB 调试”
-
连接手机后,在电脑上执行:
adb devices
首次连接会弹窗提示授权,点允许后你会看到:
List of devices attached
12345678 device
2. 连接 WiFi 模式(免 USB,适合无线调试)
adb tcpip 5555
adb connect 手机IP:5555
例如:
adb connect 192.168.1.102:5555
ADB 常用命令整理
操作 | 命令 |
---|
查看设备 | adb devices |
连接设备 | adb connect ip:port |
断开设备 | adb disconnect |
安装 APK | adb install app.apk |
卸载 APP | adb uninstall 包名 |
查看 APP 包名 | adb shell pm list packages |
进入 shell 模式 | adb shell |
获取 root 权限 | adb root (需设备已 root) |
模拟点击 | adb shell input tap x y |
模拟输入 | adb shell input text "hello" |
模拟滑动 | adb shell input swipe x1 y1 x2 y2 |
传输文件到手机 | adb push local_path /sdcard/ |
从手机拉文件 | adb pull /sdcard/file.txt ./ |
查看日志 |
|
使用 ADB 命令查看手机 IP(手机已经用 USB 连上了)
adb shell ip -f inet addr show wlan0
实战演示
首先了解几个知识点
1. 怎么查看手机分辨率?
执行这条命令:
adb shell wm size
你会看到类似输出:
Physical size: 1080x2160
这就是你手机的物理分辨率,宽1080,高2160,坐标起点是左上角 (0, 0)
,右下角是 (1079, 2159)
。
2. 如何知道点击哪个坐标?
截图来看按钮在哪
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png
screen.png在当前命令行路径 ,表示当前所在目录。你输入命令的位置就在这个目录。
例如
screen.png 在 电脑 C:\Users\qianyi> 里。
然后用画图工具打开 screen.png
,把鼠标放在你想点击的按钮上看坐标(看左下角的像素点位置),比如:
滑块按钮大概位置:X = 121,Y = 1575
你就可以用:
adb shell input tap 121 1575
就可以打开 淘淘小说 这个app 。
做 APP自动签到脚本,也可以用 这个adb 脚本模拟滑动、点击完成。
3.监听app包名
adb shell am monitor
这样可以知道你想要的包的具体名字
实战目标:自动打开微信 → 截图 → 点击一个按钮坐标
可以改成其他 App,原理一样。
目录结构建议:
adb_demo/
│
├── main.py # 主程序
└── screen.png # 程序会自动生成截图
完整代码:main.py
import os
import time
# 打开微信 App(包名可改)
def launch_wechat():
print("🚀 启动微信...")
os.system("adb shell monkey -p com.tencent.mm -c android.intent.category.LAUNCHER 1")
time.sleep(2)
# 截图保存到当前目录
def take_screenshot():
print("📸 正在截图...")
os.system("adb shell screencap -p /sdcard/screen.png")
os.system("adb pull /sdcard/screen.png ./screen.png")
print("✅ 截图已保存为 screen.png")
# 点击屏幕某个位置
def click(x, y):
print(f"👆 点击位置:({x}, {y})")
os.system(f"adb shell input tap {x} {y}")
if __name__ == "__main__":
# 步骤1:启动微信
launch_wechat()
# 步骤2:截图一张
take_screenshot()
# 步骤3:点击(你要改成实际的坐标)
click(500, 1600)
运行说明
-
手机连接电脑,开启 USB调试
-
终端里运行:
adb devices
如果看到设备,表示已连接成功。
-
然后运行你的 Python 脚本:
python main.py
-
它会:
-
自动打开微信
-
自动截图到项目文件夹下
-
自动点击你指定的坐标(比如微信底部菜单栏的按钮)
-
注意事项
com.tencent.mm
是微信的包名,其他 APP 可用:
adb shell pm list packages | grep <关键词>
-
点击位置
click(500, 1600)
要你自己根据截图决定(或者用scrcpy
+ 鼠标测)
ADB 配合工具推荐
工具 | 用法 |
---|---|
Scrcpy | 无线投屏 + 控制手机 |
Appium / uiautomator | 做自动化测试或脚本 |
frida + adb | Android APP 注入与 hook |
adb + Python | 用 subprocess 实现自动化 |
总结
-
ADB 是连接电脑与 Android 手机的桥梁,非常强大
-
适合开发、调试、逆向、自动化等场景
-
熟练掌握 adb 常用命令,配合脚本工具更强大