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

ADB入门指南:从下载安装到环境变量配置及常用命令实战

发布时间:2026/9/29 5:02:11

资讯中心
01
ARTICLE

ADB入门指南:从下载安装到环境变量配置及常用命令实战

ADB入门指南:从下载安装到环境变量配置及常用命令实战
1. 为什么搞安卓开发、刷机、自动化都绕不开ADB先聊个实际的场景。你在电脑上折腾安卓手机无论是给老手机精简系统应用、抓取App崩溃日志、批量安装APK还是搞自动化测试、模拟点击打卡几乎每一步都离不开一个叫ADB的工具。ADB全称Android Debug Bridge翻译过来就是“安卓调试桥”名字很形象——它就是在你的电脑和安卓设备之间搭一座桥让你能用电脑的键盘去指挥手机干活。很多新手第一次接触ADB是在刷机教程里看到“打开USB调试”“用ADB命令安装”就一头雾水。实际上ADB的用途远不止刷机。我给你列几个真实场景开发者在Android Studio里跑应用调试靠它测试工程师做App自动化测试靠它普通用户想冻结某个烦人的预装应用、禁止某个App偷偷联网、抓取logcat日志反馈给开发者靠的还是它。可以说只要你想让电脑和安卓设备深度联动ADB就是绕不开的那道门。这篇文章我以Windows系统为例从零开始讲清楚ADB的下载、安装、环境变量配置再带你把最常用、最实用的命令过一遍最后专门用一个章节聊我这些年踩过的坑——比如adb unauthorized弹出来怎么处理、设备连上了但命令没反应怎么排查。不管你是刚入门的安卓小白还是有一定基础想系统梳理一下的开发者按照这篇文章的步骤走一遍基本就能把ADB用顺。2. 下载ADB工具包官方渠道和第三方渠道怎么选2.1 官方SDK Platform Tools最稳妥的方案先说结论我建议绝大多数人直接下载Google官方的SDK Platform Tools。这是ADB工具的“官方原版”没有加料、没有捆绑、更新及时新版安卓系统对ADB协议做了调整时官方包也是最先同步的。下载地址是Android开发者官网的SDK Platform Tools页面。进去之后能看到Windows、macOS、Linux三个平台的压缩包选择Windows版本下载即可。压缩包大概几MB到十几MB体积很小下载速度通常也不慢不需要特殊网络环境。下载完解压后你会得到一个名为platform-tools的文件夹。里面有几个关键文件adb.exe主程序、AdbWinApi.dll和AdbWinUsbApi.dllWindows下的驱动依赖库、fastboot.exe刷机用的底层工具。注意一点这个解压后的文件夹就是ADB的“安装目录”了不需要运行什么安装程序后续要配置环境变量指向的就是这个文件夹路径。2.2 国内镜像和第三方整合包什么时候可以用有些朋友因为网络原因访问官方地址不太顺畅或者觉得单独下载ADB太麻烦会选择国内镜像或第三方整合包。这类渠道不是完全不能用但有几个隐患我得提醒你。首先是安全性问题。ADB工具本身是需要和你的手机深度交互的第三方打包的“adb工具包”如果被恶意植入代码可以在你不知情的情况下读取手机数据、安装应用。我见过有些“一键刷机工具”里捆绑了推广软件甚至静默安装全家桶。所以如果你坚持用第三方包尽量选择知名的开发者论坛、开源社区发布的包下载后用杀毒软件扫描一遍再用。其次是版本老旧问题。ADB工具偶尔会因为安卓系统升级而出兼容性问题比如新版Android对某些ADB命令做了限制旧版工具可能无法识别设备或报错。第三方整合包如果长时间不更新可能带着老版本的BUG。我的建议是能用官方就用官方实在不行再用第三方下载前看看发布时间和评论区反馈。2.3 下载后先验证文件完整性这一步很多教程都不提但我觉得值得养成习惯。下载完成后右键解压出的adb.exe文件查看属性里的“详细信息”如果显示“产品名称Android SDK Platform-Tools”之类的信息基本可以确认是官方产物。更严谨的做法是比对官方发布的SHA-256校验值不过对普通用户来说看产品信息已经足够了。解压完成后建议把platform-tools文件夹放到一个路径里没有中文、没有空格的位置。为什么因为后续配置环境变量、在命令行里调用路径时中文和空格会带来不必要的麻烦。我自己的习惯是直接放在C:\android\platform-tools。这一步做好了后面环境变量配置就顺畅得多。3. Windows下两种安装方式对比临时使用还是长期使用3.1 不配置环境变量也能立刻用ADB如果你是临时用一下比如朋友让你帮他抓一次日志或者你只是想在当前电脑上试一下ADB能不能跑通完全可以不配置环境变量。具体做法是打开命令行工具WinR输入cmd回车先用cd命令切换到platform-tools所在的目录再执行ADB命令。举个例子我把platform-tools解压到了C:\android\platform-tools那么在命令行里输入cd C:\android\platform-tools adb version如果命令行回显类似Android Debug Bridge version 1.0.41这样的信息就说明ADB能正常运行了。这种方式的好处是零配置解压即用坏处也很明显——每次打开命令行都得先cd到那个目录换个终端窗口又要重新来一遍时间长了非常烦人。而且很多自动化脚本、开发工具在调用ADB时是直接读取系统环境变量里的路径的不配置环境变量这些工具就找不到ADB。所以只要你不是只玩一次我强烈建议你花两分钟把环境变量配上。3.2 配置环境变量让系统全局认识ADB配置环境变量的本质是告诉Windows系统“ADB住在哪个目录”以后你在任何目录下输入adb系统都能自动去那个目录里找adb.exe。这个过程很像把某个朋友的电话存进通讯录以后你只需要喊名字不用每次报一遍电话号码。具体操作步骤如下在Windows桌面右键“此电脑”或“我的电脑”→ 选择“属性” → 点击左侧“高级系统设置”。在弹出的“系统属性”窗口中点击右下角的“环境变量”按钮。在“环境变量”窗口中下方是“系统变量”区域注意别选上面的用户变量虽然两个都能用但系统变量对所有用户生效更省事。找到Path这个变量选中它点击“编辑”。在打开的编辑窗口中点击“新建”把platform-tools文件夹的完整路径粘贴进去。比如我的是C:\android\platform-tools。确认无误后一路点“确定”关闭所有窗口。这里有一个特别容易踩的坑配置完环境变量后已经打开的命令行窗口不会立即生效。你必须关掉所有cmd窗口重新打开一个新的再输入adb才有效。我见过太多人配置完环境变量在原来的窗口里输入adb提示“不是内部或外部命令”以为自己配置错了其实是没重开窗口。3.3 验证安装是否成功配置完成后按WinR输入cmd回车打开一个新的命令行窗口输入adb version如果输出类似下面这样的内容说明安装彻底搞定了Android Debug Bridge version 1.0.41 Version 33.0.3-8952118 Installed as C:\android\platform-tools\adb.exe注意看第三行Installed as后面跟着的路径是不是指向你自己解压的目录。如果指向正确证明环境变量配置成功Windows确实找到了你的ADB。如果提示不是内部或外部命令也不是可运行的程序或批处理文件先把窗口全关了重开再不行就仔细检查Path里的路径有没有写错、是不是多了空格或者分号把路径手敲一遍而不是复制粘贴也能解决一些奇怪的空白字符问题。4. 连接安卓设备前的准备工作USB调试和驱动4.1 手机端开启开发者选项和USB调试ADB工具装好只是第一步真正要用起来还得让你的安卓手机愿意“接受”电脑的指挥。这需要在手机上开启USB调试模式。具体路径因手机品牌而异但逻辑大致相同先打开“设置” → 找到“关于手机” → 连续点击“版本号”7次有些手机是点击“MIUI版本号”或“HarmonyOS版本号”直到屏幕提示“您已进入开发者模式”。之后返回设置菜单就能看到新增的“开发者选项”进去后打开“USB调试”开关。这一步里有几个容易被忽略的点。第一部分手机尤其是国产手机开启USB调试后默认连接电脑时还是“仅充电”模式需要在手机的通知栏下拉菜单里把USB连接方式改成“传输文件MTP”或者“传输照片PTP”。有些ADB命令在“仅充电”模式下也能用但为了稳定我建议你至少切到MTP模式驱动加载更完整。第二有些手机首次连接电脑时会弹出一个“允许USB调试吗”的对话框勾选“始终允许”点击允许这个对话框一定记得点不点的话电脑那边会一直显示设备离线。第三如果你用的是小米、vivo、OPPO这类品牌机还需要额外在开发者选项里打开“USB安装”或“USB调试安全设置”这类选项否则后面安装APK时会被系统拦下来。4.2 Windows端驱动问题设备管理器里找线索打开USB调试并连上数据线后Windows不一定马上能识别设备。如果你在电脑上看到“无法识别的USB设备”或者设备管理器里出现黄色感叹号大概率是驱动问题。解决办法有两条路。第一条让Windows自动搜索驱动。右键设备管理器中带感叹号的设备选择“更新驱动程序” → “自动搜索驱动程序”Windows通常会从系统库里匹配到“Android Composite ADB Interface”或类似的驱动。第二条如果自动搜不到去你手机品牌的官网下载对应的USB驱动或者直接用你手机自带的管理软件比如小米助手、华为手机助手装一遍驱动。关于数据线的建议我也多说一句。连接调试用的数据线千万别用那种只能充电、不能传数据的“充电线”。判断方法很简单——看这条线能不能在电脑和手机之间传文件能传文件大概率就能跑ADB。很多朋友折腾了半天连不上设备最后发现是数据线的锅这种情况下换根线立刻解决。4.3 连接验证adb devices命令怎么用驱动装好、USB调试开好、数据线换好后在命令行输入adb devices正常情况下输出会显示一行List of devices attached下面跟着一行类似XXXXXX device的记录。device表示设备已正常连接、可以接受ADB命令。如果你看到的是unauthorized说明手机上的授权弹窗没点允许去手机上点一下就行如果看到的是offline大概率是ADB版本和手机系统版本不匹配或者驱动有问题往下翻我在后面的排查章节里专门讲。如果提示adb server version (…​) doesnt match this client (…​)说明电脑上运行着多个版本的ADB旧的adb.exe占用了端口需要杀掉ADB服务器进程再重连。5. 常用ADB命令实战盘点从基础到进阶5.1 设备连接与状态管理前面说的adb devices是最基础的设备连接命令。这里再补充几个和连接强相关的命令adb kill-server adb start-server adb reconnect这三条命令的使用场景不太一样。adb kill-server是停止后台的ADB服务进程。当你换了数据线、切换了调试模式、或者ADB出现奇怪问题时我习惯先执行adb kill-server然后再执行adb start-server相当于让ADB重启一下很多莫名的连接问题能通过这个组合解决。adb reconnect是让设备断开重连适用于设备状态是offline但你又不想杀服务器的情况。不过从我实测经验看offline状态光靠reconnect不一定能解决多半还是得走“重启ADB服务重插数据线”这条老路。5.2 安装与卸载APK安装APK是最常见的需求之一。命令格式是adb install 包路径.apk所谓“包路径”就是你电脑上那个APK文件的完整路径。比如我把一个叫wechat.apk的文件放在C:\downloads\下那么命令就是adb install C:\downloads\wechat.apk这里有几个实用的坑要提醒你。第一如果手机上已经装了相同应用直接执行上面的命令会报INSTALL_FAILED_ALREADY_EXISTS错误提示应用已存在。这时候用adb install -r参数表示强制覆盖安装保留原有数据adb install -r C:\downloads\wechat.apk第二有些应用版本签名不一致或者手机系统限制安装未知来源应用可以用-t参数允许安装测试包。组合使用就是adb install -rt我经常这样装测试包。第三如果你想让某个应用装到SD卡而非手机内存虽然现在大多数手机已经不分存储位置了但部分应用仍支持可以加-s参数。卸载命令同样简单adb uninstall 应用包名注意这里填的是包名不是应用名。怎么看一个应用的包名用下面这个命令列出所有第三方应用的包名adb shell pm list packages -3-3参数表示只列出第三方应用系统预装的不会列出来。你也可以用-s列出系统应用。拿到包名后再执行卸载就精准了。5.3 抓取logcat日志调试崩溃和性能问题必备很多人在开发或反馈Bug时需要抓取设备日志这个场景下adb logcat就是主角。最简单的用法adb logcat运行后命令行会疯狂滚动设备当前的所有日志按CtrlC停止。但实际使用中我们通常不会直接裸跑adb logcat因为日志量太大看起来像天书。有几个组合参数是高频使用的adb logcat -v time app.log-v time表示在每条日志前加上时间戳 app.log是把输出重定向到当前目录下的app.log文件。这样抓下来的日志有清晰的时间线分析问题方便得多。更精细的做法是按优先级过滤。Android日志级别从低到高分别是VVerbose最啰嗦、DDebug、IInfo、WWarning、EError、FFatal。如果只要报错级别的日志adb logcat *:E这个命令的意思是把所有标签Tag的日志都控制在E级别以上输出也就是只显示错误。如果想要某个特定进程的日志先找到它的进程号adb shell pidof com.tencent.mm拿到PID后执行adb logcat --pid1234这是只抓指定进程的日志。抓取崩溃现场时我还会用adb logcat -b crash这个-b参数指定了缓冲区。安卓设备的日志缓冲区有好几个crash缓冲区专门存崩溃日志system缓冲区存系统消息events缓冲区存事件类消息。单跑adb logcat默认是混合输出抓崩溃报告时用-b crash更干净。5.4 文件传输push和pulladb push是把电脑上的文件推到手机里adb pull是从手机里拉文件到电脑。这两个命令在管理设备文件时非常实用。推文件到手机的命令格式adb push 电脑文件路径 /sdcard/目标路径比如把电脑上的photo.jpg推到手机根目录的Pictures文件夹下adb push C:\users\me\Pictures\photo.jpg /sdcard/Pictures/从手机拉文件到电脑正好反过来adb pull /sdcard/Pictures/photo.jpg C:\users\me\Pictures\有些同学手机上文件路径记不住可以先执行adb shell进入设备的命令行环境然后像操作Linux一样用ls命令查看目录结构找到目标文件后再退出执行pull。也可以偷个懒直接执行adb shell ls /sdcard/把目录内容打出来确认路径对不对。5.5 shell命令的更多可能查电量、调屏幕、管应用进入设备Shell环境后能干的事情非常多。我挑几个实际用得上、但很多教程没细讲的命令。查电池状态adb shell dumpsys battery这段输出会包含level当前电量百分比、status充电状态、temperature电池温度等信息。在某些特定场景下比如你模拟低电量测试App的省电逻辑可以用一条更狠的命令直接骗过系统adb shell dumpsys battery set level 15把模拟电量改成15%。测试完记得用adb shell dumpsys battery reset恢复真实状态不然手机会一直以为自己是15%电量可能触发低电量自动关机逻辑。调节屏幕刷新率是近两年流行起来的需求。很多旗舰机默认是智能切换刷新率你想强制锁定在120Hz可以用adb shell settings put system peak_refresh_rate 120.0 adb shell settings put system min_refresh_rate 120.0不过这条命令并非在所有机型上都生效有些手机厂商改写了设置项路径需要到开发者选项里用adb shell settings list system查一下实际配置项名称。冻结应用在“精简手机系统”的场景下很受关注。以前很多教程教的是adb shell pm disable-user --user 0 包名这条命令的作用是停用某个应用相当于“冻结”需要恢复时执行adb shell pm enable 包名即可。注意不要乱禁用系统核心应用否则可能导致系统崩溃或者功能异常。对自己不确定的包名最好先查清楚这个应用是干什么的再动手。6. 高频问题排查adb unauthorized、offline和连接不上的完整链路这一章是我认为全文最有价值的部分因为这些坑我几乎全踩过而且每次踩完都要翻半天资料才能解决。我尽量把排查思路完整还原出来你可以照着这个链路一步步走。6.1 adb unauthorized授权弹窗没处理干净现象执行adb devices设备状态显示unauthorized。原因手机端没授权电脑的调试连接。可能是弹窗被你误点了拒绝可能是弹窗没弹出来你没注意到也可能是手机锁屏状态下弹窗显示不了。处理链路拿起手机解锁屏幕看有没有“允许USB调试吗”的对话框。如果有勾选“始终允许”点“确定”。如果没看到弹窗执行adb kill-server杀掉ADB服务然后重新执行adb devices手机会重新弹出授权请求。注意重新授权前最好在开发者选项里先“撤销USB调试授权”避免授权记录乱的干扰。如果以上两步全做了还是unauthorized拔掉数据线重插、手机重启、换一个USB接口按这个顺序逐项试。这里要特别说明一点unauthorized状态不是设备坏了只是电脑和手机之间的信任关系没建立好。不要一上来就重装驱动先解决授权问题。6.2 adb devices看不到设备数据线、驱动、端口层层排查现象执行adb devices输出只有List of devices attached下面空一行什么都没有。处理链路检查数据线是不是只支持充电。最简单的方法是在手机通知栏看USB连接方式如果手机上根本不显示“USB调试已连接”或“USB文件传输”之类的提示大概率是线的问题换线。打开设备管理器WinX → 设备管理器看有没有带黄色感叹号的设备。如果有右键更新驱动或者去手机品牌官网下载USB驱动安装。这一步能解决90%的“看不到设备”问题。在设备管理器中找到Android Composite ADB Interface右键卸载设备勾选“删除此设备的驱动程序软件”然后拔掉数据线重插让Windows重新识别。执行adb kill-server然后执行adb devices重新走一遍连接流程。为什么最后才说重启ADB服务因为我遇到的情况里驱动和信息线的概率远高于ADB服务卡死但成本最低的尝试就是重启服务顺手就做了。6.3 adb offlineADB版本冲突和端口占用现象执行adb devices设备状态显示offline而不是device。处理链路先执行adb version确认当前ADB版本。如果版本过老去官网下载最新版platform-tools。检查电脑上是否装了多个Android工具比如手机厂商的驱动套件、各种“刷机精灵”类软件这类工具自带的旧版ADB会和服务端口5037冲突。处理方法是杀掉所有ADB进程打开任务管理器找到所有名称含“adb”的进程全部结束再重新执行adb start-server。重启手机和电脑。别看这个办法土ADB连接状态不正常时重启能清除很多内存中的临时状态我亲测过有效。最后一步如果你用的是物理机且前面都无效尝试虚拟机软件如某些模拟器是否占用了ADB端口把模拟器关掉再试。6.4 模拟器场景连接夜神、MuMu等安卓模拟器现在很多人会装安卓模拟器配合ADB做自动化测试或App调试。模拟器场景下的ADB连接逻辑和真机略有不同但更简单。现象模拟器能正常开机使用但adb devices看不到模拟器。处理链路不同模拟器监听的端口不同。夜神模拟器默认是127.0.0.1:62001MuMu模拟器默认是127.0.0.1:7555雷电模拟器默认是127.0.0.1:5555。如果adb devices看不到模拟器可以手动指定端口连接adb connect 127.0.0.1:62001星号部分按你用的模拟器端口填。连接成功后adb devices里会出现一行127.0.0.1:62001 device表示已正常连接。有一个很常见的翻车点模拟器自带的ADB和你手动装的ADB版本不一致导致两者互相冲突。解决方法是把模拟器自带目录下的adb.exe替换成官方新版adb.exe或者让模拟器直接使用你环境变量里的ADB路径。多数主流模拟器在设置里都有“ADB路径”选项手动指过去就行。提示使用模拟器时建议保持模拟器和ADB工具都是较新版本版本差太远时容易出现连接成功但部分命令不支持的情况。6.5 手机端设置背锅USB调试莫名自动关闭还有一个不太容易想到但非常实际的问题——部分品牌的手机在一段时间不充电不连接后会自动关闭开发者选项或USB调试。尤其是主打安全性的系统会定期重置USB调试授权。如果排查了线、驱动、端口都没问题回手机上看一眼开发者选项USB调试开关是不是还开着。如果是重新打开再回到命令行执行adb devices。这种情况在iOS用户转安卓、刚接触ADB的朋友身上特别常见因为你在电脑端折腾半天根本没想过要回去看手机上的开关状态。7. 进阶玩法ADB配合脚本和批处理实现自动化操作7.1 Windows批处理一键连接安装配置好环境变量后你可以把常用ADB操作封装成批处理脚本双击就能跑。比如我在桌面上放一个install.bat内容很简单echo off adb devices adb install -r %1 pause把APK文件直接拖到这个install.bat上系统会把文件路径传给%1参数自动执行安装命令。这样连命令行都不用打开拖拽一下就能装APK给同事装测试包时非常方便。7.2 按键模拟用ADB控制设备的输入adb shell input系列命令可以模拟点击、滑动、输入文字这在设备自动化测试里非常实用。几个常用例子adb shell input keyevent KEYCODE_HOME adb shell input tap 500 1000 adb shell input swipe 500 1500 500 500第一条是模拟按Home键第二条是模拟点击屏幕坐标(500,1000)的位置第三条是从(500,1500)滑动到(500,500)也就是从下往上滑。配合adb shell wm size查屏幕分辨率adb shell wm density查屏幕密度就能把点击坐标按照实际屏幕换算出来。写脚本时把这些组合起来可以做出最简单的UI自动化效果。虽然比不上专门的自动化测试框架但应付一些重复点击、打卡、签到场景足够了。7.3 从ADB命令到Appium自动化测试如果你顺着ADB这条线往深了走迟早会遇到Appium。Appium是移动端自动化测试框架它的底层驱动原理就是通过ADB与安卓设备通信。你在Appium里写的每一个操作最终都会转化为一条条ADB指令下发到设备。所以学好ADB,相当于给后续学Appium打了一个非常扎实的地基。你会更容易理解Appium里那些元素定位、滑动操作的底层原理遇到连接失败、设备冲突之类的问题时也可以用ADB命令手动排查定位。8. 我在实际使用中最想分享的几条经验ADB用久了我慢慢总结出一些上不了教程、但真实影响效率的细节。最后一章不写结构化的教程了就说几条零散但实用的体会。第一一定要搞一个“万能重启组合”。每当我遇到ADB连接异常、状态显示offline、命令无响应时先按这个顺序来一遍adb kill-server→ 拔线 → 手机上退出开发者选项再重新打开 → 重插线 →adb devices。这个组合能解决我遇到的80%的ADB连接问题。剩下20%再去看驱动和版本兼容。第二路径里有空格会让好多人崩溃。如果你把platform-tools放在了C:\Program Files这类带空格的路径下配置环境变量没问题但某些脚本工具在调用ADB时可能会把路径截断。我的建议是别懒那一下直接放到C:\android\这种无空格目录下一劳永逸。第三ADB的版本不是越新越好但也不是越稳越好。如果你想连接的是新款安卓设备尽可能用新版本如果你在跑老项目、旧设备新版ADB可能会因为协议变更出现兼容问题。我工作电脑上就同时保留了两个版本的platform-tools需要时切换环境变量这个做法不常被提起但实际用起来非常灵活。第四善用adb shell dumpsys家族很多厂商隐藏设置都能调。比如你想修改屏幕分辨率、调整动画缩放、查WLAN状态、控制手电筒开关这些操作底层都能通过dumpsys或settings命令实现。掌握这些命令你对设备的掌控能力会远超普通用户。最后如果你在配置和使用过程中被某个奇怪的问题卡了很久不妨把命令行里输出的完整报错信息复制下来去掉设备序列号和路径等个人信息后去技术论坛搜索。绝大多数ADB问题都不是你一个人遇到过大概率早就有人给出了解决方案。本文涉及的下载方式、安装配置和故障排查链路也完全适用于大部分使用Windows做安卓开发调试的场景。希望这篇文章能帮你少走一些我走过的弯路。
02
RELATED NEWS

相关资讯

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

03
WHY YAOTU

想打造同款高转化官网?

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

◈

场景化定制

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

◐

营销型架构

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

▲

全周期服务

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

免费获取你的建站方案

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