尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Windows下ADB安装配置与常用命令实战指南

发布时间:2026/9/29 4:51:56

资讯中心
01
ARTICLE

Windows下ADB安装配置与常用命令实战指南

Windows下ADB安装配置与常用命令实战指南
最近好多朋友问我ADB在Windows上到底怎么装、怎么用。确实无论是安卓开发调试还是普通用户想卸载预装软件、抓日志、看屏幕刷新率、搞定模拟器ADB都是绕不开的那把钥匙。ADB全称Android Debug Bridge说直白点就是电脑和安卓设备之间的一座桥能让你用命令行直接指挥手机。今天这篇就以Windows为主线把下载、环境配置、常用命令、坑点排查一条龙讲清楚。不管你是开发、测试还是纯粹想折腾手机的用户照着走基本不会卡壳。1. ADB 的整体思路先搞懂它到底是什么1.1 三个组件的工作模式ADB 并非一个孤零零的程序它背后是“客户端-服务端-守护进程”三件套在配合。电脑端你敲下adb命令时实际启动的是一个客户端客户端会去找电脑后台的 adb 服务端一个常驻进程服务端再通过 USB 或 TCP 与手机里的 adbd 守护进程通信。手机端的 adbd 接收指令后执行具体操作再把结果原路返回。这个架构有点像你打电话给前台服务端让前台帮你转接到具体部门adbd最后再把答复回传给你。好处是多个命令可以复用一个连接不用反复握手设备掉线时也容易定位问题——你是死在客户端、服务端还是设备端。1.2 为什么在 Windows 上要先配环境变量很多人下载完 ADB 工具包解压后直接双击adb.exe发现闪了一下就没了或者在 cmd 里敲adb提示“不是内部或外部命令”。原因很简单Windows 执行命令时会在当前目录和 PATH 环境变量记录的一系列目录里寻找可执行文件。你没有把工具目录告诉系统系统自然找不到它。配置环境变量本质上就是给 Windows 留一张“常用工具住址表”。这样你打开任意一个 cmd 或 PowerShell 窗口敲adb都能直接调用不用每次拼一长串路径。这一步看起来很基础但正是很多新手卡住的地方后面我会用完整步骤演示。2. 下载和环境配置三步入坑少走弯路2.1 工具包选择官方 platform-tools 还是第三方集成包ADB 不是需要安装的软件而是绿色免安装的工具集。官方渠道是 Android 开发者网站上的 platform-tools 压缩包里面包含 adb、fastboot、dll 运行库等文件。这个包很小通常几 MB 到十几 MB而且更新频率高社区修复设备兼容性时都是优先跟进官方版本。国内网络访问官方地址有时较慢可以使用国内镜像站下载。我个人的建议是尽量选择标注了“platform-tools”字样的包而不是某些“一键刷机工具”附带的老旧 adb。老版本 adb 对新款手机的支持不好容易遇到unauthorized、offline等莫名其妙的问题。检查版本可以用命令adb version看到较新的版本号如 1.0.41就说明没问题。注意不要直接把解压后的 adb.exe 单独拷出来用platform-tools 目录里有几个 DLL 文件是它的依赖丢了会报“无法启动此程序因为计算机中丢失 AdbWinApi.dll”。2.2 配置环境变量的完整步骤我这里以 Windows 10 / 11 为例流程通用把下载的 platform-tools 压缩包解压到一个固定目录比如C:\platform-tools。我不建议放桌面或下载文件夹这些位置容易被清理工具误删。右键“此电脑” → “属性” → “高级系统设置” → “环境变量”。在“系统变量”列表中找到Path双击打开编辑窗口。点击“新建”填入你的目录路径例如C:\platform-tools然后一路点“确定”保存。重新打开一个 cmd 窗口已打开的老窗口不会刷新环境变量输入adb version能打印出版本信息就说明配置成功。有几点容易踩坑一是有些人误把变量名写成PATHWindows 环境变量名不区分大小写但建议直接沿用系统自带的Path二是“用户变量”和“系统变量”都配置了也行但权限不足时用户变量更容易生效三是配置完一定要开新窗口测试不要用旧窗口怀疑人生。2.3 手机端的准备USB 调试和驱动电脑端装好了手机端也得配合。打开手机的“设置” → “关于手机”连续点击“版本号” 7 次开启开发者模式然后回到设置主页进入“开发者选项”打开“USB 调试”。不同品牌的入口位置有差异比如小米在“更多设置”里vivo 在“更多设置”里但原理一致。连接电脑后手机通常会弹出“是否允许 USB 调试”的授权框勾选“始终允许”再确认。如果没弹窗可能是驱动问题。Windows 10/11 一般会自动安装驱动但部分老机型或国产机型需要去官网下载手机助手或单独的 USB 驱动。插线时也建议选“传输文件MTP”模式有些手机在“仅充电”模式下 adb 会识别异常。3. 常用命令实操最有价值的一批操作3.1 设备连接与状态检查一切操作的前提配置完成后第一步永远是敲adb devices。这条命令会列出当前连接的设备以及状态。正常情况应该是adb devices List of devices attached XXXXXXXX device状态有几种device表示正常连接unauthorized表示手机未授权offline表示连接不稳定或驱动有问题no permissions常见于 LinuxWindows 下较少见。看到device状态你才能继续后面的操作。如果连接的是模拟器adb devices可能不会自动出现需要用adb connect 127.0.0.1:端口号手动连接。常见的夜神模拟器端口是 62001逍遥是 21503MuMu 是 7555。新版本的 MuMu 模拟器甚至支持adb connect 127.0.0.1:16384这类端口具体看官方文档后面我会单独讲模拟器连接。3.2 安装、卸载与文件传输最日常的三板斧安装 APK 是使用频率最高的操作之一命令是adb install 应用包名.apk如果你想覆盖安装保留数据加-r参数adb install -r app.apk。测试包经常和旧版本签名不一致可以加-d允许降级安装。卸载则简单得多adb uninstall 包名这里要注意的是参数里填的是“包名”不是应用名称。怎么看包名可以用adb shell pm list packages列出所有包也可以借助 App 检查工具或者在联网搜索一下“某某应用包名”。文件传输两条命令分别是推送和拉取adb push 本地文件路径 /sdcard/目标路径 adb pull /sdcard/源文件路径 本地目录比如把电脑上的test.txt推到手机根目录adb push test.txt /sdcard/。把手机里的截图拉到电脑adb pull /sdcard/DCIM/screenshot.png D:\下载。这个功能在没有数据线传输工具时非常实用尤其是手机屏幕碎了或系统异常时还能抢救些文件出来。3.3 日志抓取logcat 的正确打开方式做测试或开发的人一定绕不开日志。ADB 抓取日志的命令是adb logcat。不加参数时它会实时滚动输出所有日志在 Windows cmd 里看到海量信息很容易懵。更实用的做法是配合过滤和输出adb logcat -v time D:\logcat.log-v time表示每条日志前加上时间戳方便排查时序问题。Windows cmd 的重定向可能会在输出 UTF-8 编码日志时出现乱码可以顺手执行chcp 65001切换 cmd 编码。如果只想看某个进程的日志可以用adb logcat --pid进程ID进程 ID 可以通过adb shell pidof 包名获取。还有一个高频需求是清除旧日志后重新抓取先adb logcat -c清空缓冲区再开始抓新的这样日志文件不会混入大量历史垃圾信息。adb logcat -c这个操作在分析和复现 Bug 时特别好用我能确定地说这是测试同学最应该记住的命令之一。3.4 截图、录屏与系统信息查询截图在 Windows 下有个小坑。有人用adb shell screencap -p /sdcard/screen.png截图成功再 pull 出来倒也不麻烦。但更快的方式是直接把截图流输出到电脑adb exec-out screencap -p screen.png用exec-out而不是shell是为了避免 Windows 把回车符\r\n转换破坏 PNG 数据的坑。这个细节我一开始也不知道后来发现截出来的图片打不开折腾半天才明白是重定向的问题。录屏的命令是adb shell screenrecord /sdcard/demo.mp4录完再 pull 出来。默认 180 秒上限可以用--time-limit 30控制时长用--size 720x1280控制分辨率。屏幕刷新率相关的查看可以用adb shell dumpsys display | findstr refreshRate这条命令不是所有设备都输出同样的字段但绝大数情况下能看到refreshRate相关参数。有些设备还能配合adb shell settings put system peak_refresh_rate 120这类命令去设置刷新率但厂商定制系统千差万别不保证通用。高频使用场景是测试手机是否真的跑到 120Hz以及排查省电模式导致刷新率下降的问题。3.5 几个特别实用的小命令查看电池状态adb shell dumpsys battery。想模拟拔掉 USB 充电的状态比如测试应用的省电逻辑可以用adb shell dumpsys battery set usb 0测完记得用adb shell dumpsys battery reset恢复。模拟按键输入也就是所谓的“adb 键盘”玩法adb shell input keyevent 26是电源键adb shell input text hello可以向输入框输入文字。自动化测试里常配合adb shell input swipe x1 y1 x2 y2模拟滑动手势。禁止某个应用联网adb shell appops set 包名 INTERNET ignore。恢复联网把ignore改成allow。这个命令在国产手机广告拦截、限制后台应用偷偷联网时特别好使不用 root 也能做到。冻结应用adb shell pm disable-user --user 0 包名。冻结后应用从桌面消失也不会在后台运行。恢复用adb shell pm enable 包名。注意别去冻结系统核心组件否则可能出现异常。4. 场景化进阶模拟器、无线调试与批处理4.1 连接模拟器夜神、MuMu 等安卓模拟器很多人在电脑上玩手游或做自动化测试都离不开模拟器。模拟器虽然本身是安卓环境但通常没有通过 USB 连接到电脑所以adb devices不会自动出现。解决办法是使用 adb 的网络连接功能。以夜神模拟器为例先确认模拟器已经开启“ADB 调试”相关选项然后执行adb connect 127.0.0.1:62001连接成功后adb devices会出现127.0.0.1:62001 device。MuMu 模拟器新版端口可能是 16384逍遥模拟器是 21503。如果你不确定端口可以在模拟器安装目录下找adb.exe或查看模拟器设置里的“ADB 调试端口”提示。还有一种通用办法打开模拟器后用netstat -ano | findstr 模拟器进程名去查监听端口但不如直接查文档方便。4.2 无线调试摆脱数据线的束缚手机和电脑连接同一个 WiFi 时ADB 可以通过无线方式连接。手机先用 USB 连一次电脑设置里开启“无线调试”执行adb tcpip 5555 adb connect 手机IP:5555手机 IP 在“设置” → “WLAN” → 当前网络的详情里能查到或者用adb shell ip addr show wlan0查看。连接成功后可拔掉数据线。Android 11 及以上系统还支持免 USB 的无线调试配对在“无线调试”里开启配对码然后执行adb pair 手机IP:配对端口 配对码即可配对完再adb connect 手机IP:5555。无线调试在真机调试、外场测试时特别方便但要注意 IP 变更后需要重新连接。如果连接时提示target device状态变成offline可以先adb disconnect再重新 connect。4.3 把常用命令固化成批处理脚本Windows 下反复敲一长串命令确实累人建议把常用操作写成.bat脚本放桌面。比如一个“一键抓取日志”的脚本echo off chcp 65001 nul set timestamp%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2% adb logcat -v time D:\logcat_%timestamp%.log双击后日志就会按时间戳命名保存在 D 盘。再比如“批量安装 APK”的脚本遍历当前文件夹下所有 APK 文件echo off for %%i in (*.apk) do ( echo 正在安装 %%i ... adb install -r %%i ) pause把这类脚本配合前面讲到的命令使用日常工作效率会有明显提升。写脚本时要注意 cmd 的编码如果 bat 文件里出现中文乱码用记事本另存时选择 ANSI 编码通常能解决。5. 常见问题与排查技巧实录5.1 adb unauthorized 是啥情况这个提示几乎每个新手都会遇到。手机连接电脑后手机上必须弹窗确认“允许 USB 调试”。如果之前点了“取消”或没有勾选“始终允许”状态就会停在unauthorized。解决办法是拔掉数据线在手机开发者选项里点击“撤销 USB 调试授权”然后重新连接弹窗时勾选“始终允许”。如果反复授权还是unauthorized检查一下是否用了劣质数据线还有换一个电脑 USB 口试试前置面板的 USB 口偶尔供电不稳。最后再考虑用adb kill-server后重新adb start-server刷新连接。5.2 adb 不是内部或外部命令怎么破这基本就是环境变量没配好。按前面第 2.2 节的步骤重新确认Path里是否真的加了platform-tools目录然后关闭所有 cmd 窗口重新打开。还有一种可能你配置了用户变量但当前 cmd 是用管理员权限开的而管理员权限下可能加载的是系统变量两个地方都配置一遍最稳妥。5.3 设备 offline 或频繁断开设备状态显示offline最常见的原因是驱动不匹配或数据线质量差。先把开发者选项里的“USB 调试”关掉再打开然后adb kill-server再连。如果还不行换个原生数据线或换电脑背面的 USB 接口。有的电脑装了第三方手机管家类软件会强行接管 USB 连接导致 adb 状态异常需要退出这些软件再试。5.4 杀毒软件拦截 adbplatform-tools 里的 adb.exe 偶尔会被杀毒软件误报。这不是它真的是病毒而是 adb 具备远程执行命令的能力安全软件会高度敏感。处理办法是把整个platform-tools目录加入杀毒软件的白名单或者解压前先暂时关闭实时防护。这一点很多教程没提但实际遇到的频率不低尤其是 360、火绒这类的默认策略有时会误伤。5.5 常见问题速查现象直接原因解决办法adb 不是内部或外部命令环境变量未配置重新配置 PATH重开 cmdunauthorized手机未授权重插线勾选始终允许offline驱动/线材/端口问题重启 adb换线换口找不到设备未开启 USB 调试打开开发者选项中的 USB 调试连不上模拟器端口不对查看官方文档connect 对应端口截图文件损坏Windows 重定向问题使用 exec-out 方式应用安装失败签名冲突或版本偏低加 -r 覆盖加 -d 降级6. 最后聊几句我的使用体会ADB 这套东西说难不难说简单也不简单。我见过太多人卡在环境变量和 USB 调试授权这两个最初级的环节上实际上只要把adb devices跑到device状态后面的事情基本都是顺水推舟。我个人使用中的一个小习惯是无论执行什么操作先看一眼adb devices确认设备在线再敲后续命令。很多莫名其妙的报错其实根源就是设备已经断开了。另外多设备同时连接时可以用adb -s 序列号指定设备操作比如adb -s 127.0.0.1:62001 shell ls避免命令发错设备造成误操作。还有一点经验之谈尽量保持 platform-tools 是官方最新版。旧版 adb 在新系统上偶尔会解析不了某些输出或者对 Android 14、15 的设备支持不到位。反正更新很简单下载新压缩包覆盖目录即可环境变量不用重配。如果你只是偶尔用一次 ADB那看完这篇照着操作就够了如果你是想长期做脚本化、自动化的事建议再多研究一下adb shell里的 Linux 命令组合那才是真正让 ADB 发挥威力的地方。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。