在命令行输入adb后,如果遇到不是内部或外部命令,问题多半不在数据线或驱动,而在环境变量。很多人卡在这一步,是因为系统不知道上哪里去找adb这个可执行文件。下面先把ADB工具的位置说清楚,再分别给出Windows和macOS/Linux的配置过程,最后用常见报错做排查对照。

一、先确认ADB工具所在目录
adb.exe由Android SDK Platform-Tools提供。无论你安装的是完整版Android Studio,还是单独下载的命令行工具,最终都需要找到platform-tools目录。Windows下最常见的位置是C:\Users\你的用户名\AppData\Local\Android\Sdk\platform-tools,如果安装Android Studio时改过SDK路径,那也可能在D:\Android\Sdk\platform-tools或其他盘符。可以先打开文件资源管理器,逐级进入对应目录,确认能看到adb.exe文件。
如果不确定SDK装在哪里,可以打开Android Studio,进入Settings,找到Appearance & Behavior下方的System Settings,再打开Android SDK,界面里的Android SDK Location就是根目录。把根目录记下来,再在后面补上\platform-tools,就是我们要配置的路径。这里要特别强调:PATH变量必须指向包含adb.exe的那一层目录,而不是Sdk根目录,也不是Sdk\tools目录。配错层级是新手最容易犯的问题,配置完成后命令依然无法识别。
# Windows PowerShell 下查看常见 SDK 路径中的 adb.exe Get-ChildItem "$env:LOCALAPPDATA\Android\Sdk\platform-tools\adb.exe" # 也可以直接进入 Android Studio 的 SDK Manager 查看路径
如果路径中包含空格或中文,后面的命令行配置需要用双引号包住完整路径,否则很容易被当成两个参数。先确认好路径,下面的配置就只是把这个路径追加到系统或用户的PATH变量中。
二、Windows系统配置ADB环境变量
图形界面方式最直观。按Win+R键输入sysdm.cpl回车,打开系统属性窗口。点到高级标签,点击环境变量按钮。用户变量列表中选中Path,点击编辑,再点击新建,把platform-tools的完整路径粘贴进去,连续点击确定保存。如果你希望这台电脑所有用户都能用adb,可以改系统变量里的Path,但通常当前用户配置就够用了,且不需要管理员权限。
编辑Path的时候,千万不要把原有的变量内容全部删除。正确做法是在原内容后面新建一行,或者仔细地在末尾追加。因为Path里还保存着系统其他命令的路径,一旦整段删除,很多常用命令都会失效。配置完成后,必须重新打开一个命令提示符或PowerShell窗口,旧窗口不会自动刷新环境变量。有相当一部分用户改完直接在当前窗口输入adb还是报错,就以为配置失败,其实只是当前进程没有更新。
setx PATH "%PATH%;C:\Users\你的用户名\AppData\Local\Android\Sdk\platform-tools"
上面这条setx命令也可以在命令提示符中快速完成配置。它会把新的PATH写入当前用户环境变量,但要注意setx对超长字符串有长度限制,如果原PATH已经接近1024个字符,使用setx可能导致内容被截断。更稳妥的方式是用PowerShell追加,避免截断问题。
# PowerShell 追加用户级 PATH,避免 setx 截断问题
$current = [Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::SetEnvironmentVariable("Path", "$current;C:\Users\你的用户名\AppData\Local\Android\Sdk\platform-tools", "User")
执行完毕后重新开启终端,输入adb version。如果能正常显示Android Debug Bridge version的版本信息,就说明Windows环境变量已经生效。如果仍然提示不是内部或外部命令,检查路径是不是少写了一层platform-tools,或者把反斜杠写成了正斜杠。
三、macOS与Linux系统的配置方法
macOS默认的shell从Catalina开始已经切换为zsh,Linux多数发行版仍在使用bash。两者配置思路相同,都是把export命令追加到对应shell的启动配置文件中。macOS通过Android Studio安装的SDK通常位于~/Library/Android/sdk/platform-tools,Linux下常见的路径是~/Android/Sdk/platform-tools或/usr/lib/android-sdk/platform-tools。先用ls命令确认目录里存在adb,再进行写入。
# macOS 默认使用 zsh,写入用户级配置 echo 'export PATH=$PATH:$HOME/Library/Android/sdk/platform-tools' >> ~/.zshrc source ~/.zshrc
Linux用户可以写入~/.bashrc,如果使用zsh则写入~/.zshrc。配置完执行source命令让当前终端立即生效,或者直接关闭终端重新打开一次。建议不要重复追加多条相同路径,否则PATH会变得越来越长,最好先检查文件中是否已经存在platform-tools相关配置,再决定是否追加。
# Linux 用户级配置(bash) echo 'export PATH=$PATH:$HOME/Android/Sdk/platform-tools' >> ~/.bashrc source ~/.bashrc
如果系统同时装了bash和zsh,可以两个配置文件都写入,或者把公共export语句放到~/.profile中。改完多开几个终端验证,避免只在当前会话生效。macOS下也可以通过nano或vim直接编辑,只要保证内容格式正确即可。
四、验证配置与高频问题排查
配置完成后第一件事就是验证。打开新的终端或命令提示符,输入adb version,能看到版本号就说明PATH已经正确指向adb。接着连接手机并开启USB调试,输入adb devices,列表中出现设备序列号即表示电脑和手机通信正常。设备状态为device是正常;如果显示unauthorized,表示手机端没有点击允许USB调试授权弹窗;如果显示offline,一般是数据线、驱动或adb服务状态异常。
adb version adb devices
遇到不是内部或外部命令时,先重开终端,再分别在Windows和macOS/Linux下查看PATH内容。Windows输入echo %PATH%,macOS/Linux输入echo $PATH,确认其中是否包含platform-tools路径。没有的话回到环境变量界面重新添加。如果路径存在但仍然找不到adb,可能是路径末尾多了分号或空格,也可能是在配置系统变量时覆盖了用户变量。
多ADB版本冲突也经常导致明明配置成功,连接却时好时坏。某些模拟器、手机助手或厂商刷机工具会自带一份adb,如果PATH中出现了多个platform-tools,命令实际调用的可能不是你期望的版本。可以用where adb或which adb查看当前命中的adb完整路径。如果发现调用了错误版本,优先调整PATH中路径的先后顺序,或者直接用完整路径调用adb。
# Windows 命令提示符 where adb # macOS / Linux which adb
adb devices显示空列表时,可以依次检查:手机是否开启了USB调试、数据线是否支持数据传输、Windows下驱动是否正常安装。先用adb kill-server停止服务,再用adb start-server重新启动,然后重新插拔USB或更换接口,通常能解决大部分offline和空列表问题。对于Android 11及以上系统的无线调试,还需要先在开发者选项中完成配对,这和本机的PATH配置是两个步骤。
adb kill-server adb start-server
整个配置的核心只有三点:路径要准确到platform-tools、PATH变更后要重开终端、设备连接后要授权并排查多版本冲突。前两步做完,adb version能正常显示,后面就可以进入adb shell、adb install、adb logcat等具体调试操作了。遇到问题先按上面顺序检查,基本不需要反复重装SDK或驱动。

