简介:这一工具包面向安卓开发、测试与运维人员,用于解决设备调试、应用安装和数据传输等日常问题。包内为平台工具28.0.1的Windows版本,包含ADB调试组件,核心功能包括设备连接识别、应用包安装卸载、文件推送拉取、系统命令执行以及调试日志抓取,可满足从入门到进阶的调试需求。资源合计782个文件,以Python辅助脚本、HTML说明文档、JavaScript与CSS前端文件、可执行程序和动态链接库为主,整体体积仅5.9MB,轻量且便于携带。目前已有494人学习下载。通过该压缩包,开发者可获得直接可运行的调试环境,免去开发工具包单独下载配置的步骤;同时结合包内附带的脚本与文档,能快速掌握多设备连接、无线调试等常用操作技巧,适合在多个设备上开展测试或进行底层问题排查的工程师。 做安卓开发、玩机刷机、或者搞自动化测试的朋友,对platform-tools_r28.0.1-windows这个压缩包应该不会陌生。它就是 Android SDK Platform-Tools 在 Windows 平台下的一个具体版本包,里面装着我们天天要用的adb和fastboot这两个命令行工具。很多新手第一次拿到这个包,双击解压后不知道接下来该干嘛,或者配置完环境变量后adb还是“不是内部或外部命令”,今天我就把整个流程和常见坑一次讲清楚。
先说这个包能干什么。adb(Android Debug Bridge)是连接电脑和安卓设备的桥梁,用来安装应用、传输文件、查看日志、执行 shell 命令;fastboot则是在 bootloader 模式下刷分区、刷镜像的核心工具。r28.0.1 这个版本对应的是 Android 9 时代的老工具,虽然现在官方已经出到 r30 以上,但很多旧项目、旧脚本、甚至某些定制 ROM 的刷机流程里,指定要 r28.0.1,因为它对旧系统兼容性好,而且体积小(大概 12MB),解压即用,不需要安装完整 Android Studio。如果你只是在 Windows 上简单调试手机,或者想临时用 adb 救个砖,这个包完全够用。
下面我会从最基础的安装配置开始,再进入实际操作和问题排查,全程是 Windows 下的经验,照着做基本不会翻车。
1. 拆解 platform-tools_r28.0.1-windows 这个包
1.1 文件名里的信息量
platform-tools_r28.0.1-windows这个命名其实很有规律:platform-tools是组件名,r28.0.1是版本号,windows是目标平台。官方发布的压缩包通常还有 Linux 和 macOS 版本,比如platform-tools_r28.0.1-linux.zip和platform-tools_r28.0.1-darwin.zip。如果你下载的是 mac 版,解压后的文件夹名字可能会带.dmg或者是一个.bin文件,Windows 版则一定是 zip 压缩包,解压出来就是一个platform-tools文件夹。
r28.0.1 是 2018 年 10 月左右的版本,当时 Android 9(Pie)刚出。它内部包含的adb.exe版本号是 1.0.39,对应 Android SDK build-tools 28.0.1。很多人纠结要不要用最新版,其实在 Windows 下,老版本 adb 对 USB 设备枚举的兼容性有时候反而更稳,特别是连接一些老款国产手机时,新版本反而可能提示device unauthorized或者干脆识别不到。所以如果你手里的安卓设备是 Android 9 以下,r28.0.1 是一个稳妥的选择。
1.2 包内到底有哪些程序
解压后不要只盯着adb.exe,这个文件夹里还有一堆其他实用工具,我列几个常用的给你看。
fastboot.exe:刷机必备,分分钟把手机送进 bootloader 模式,然后刷 boot、recovery、system 等分区。注意它和 adb 是两个独立工具,别用adb命令去执行 fastboot 指令。AdbWinApi.dll和AdbWinUsbApi.dll:这两个动态库是 adb 在 Windows 上识别 USB 设备的底层支持,少了它们 adb 会直接报错。etc1tool.exe:图形纹理压缩工具,一般开发者用不上,对普通用户来说可以忽略。sqlite3.exe:一个命令行 sqlite 数据库客户端,有时候你会用它在设备上直接查数据库文件(比如微信聊天记录备份后),但日常用处不大。adb.bat有的版本会有,是一个简单的封装脚本,方便在 cmd 中调用。
看清楚这些文件名,后面遇到问题就不会瞎猜了。很多人把 platform-tools 整个文件夹拷走,却漏掉了.dll文件,导致 adb 闪退,这是第一个容易踩的坑。
1.3 老版本 vs 新版本,到底用哪个
官方现在提供的 platform-tools 是 r30.x 或者更高,那 r28.0.1 还有没有存在价值?我个人的看法是分场景。
| 对比项 | r28.0.1 | 新版本(r30+) |
|---|---|---|
| 体积 | 约 12MB | 约 15MB |
| 支持的 Android 版本 | Android 9 及以下完没问题 | Android 10-14 都行 |
| Win7 兼容性 | 原生支持 | 新版本可能依赖 VC++ 运行库 |
| 稳定性 | 老设备、老驱动环境下更稳 | 新设备必须用它 |
| 用途 | 刷 old bootloader、跑旧脚本 | 官方支持、新特性 |
如果你手里的设备是 2019 年之前的老机型,r28.0.1 完全够用,而且还能避免新版本带来的各种兼容性小毛病。如果是新手机,比如红米 K70、小米 14 这类 Android 13 以上的,建议还是下载最新版,不然fastboot刷入超分区的时候可能会报invalid sparse file format,那个问题很烦,多半是版本太老导致的。
2. Windows 下的安装与环境配置
2.1 解压即用的正确姿势
这个压缩包不需要安装,解压就能用。但解压路径有讲究,很多人习惯直接把 zip 解压到桌面或者下载文件夹,这样虽然能运行,但后续配置环境变量时容易出问题,因为路径里可能带中文或者空格。我建议在 C 盘根目录建一个android文件夹,然后把platform-tools整个文件放到里面。比如:
C:\android\platform-tools\路径里不要有空格,不要有中文,纯英文最稳妥。如果你实在想放其他盘,只要保证路径全英文且没有奇怪字符即可。解压后双击adb.exe如果闪退,说明缺少 Microsoft Visual C++ 运行库,自己去装一个 VC++ 2015-2019 运行库合集就行。
2.2 配置环境变量让 adb 全局可用
为什么要配环境变量?因为不配的话,每次打开 cmd 都要cd C:\android\platform-tools才能执行 adb 命令,太麻烦了。配置好之后,在任何目录下直接输入adb devices就能识别。
具体步骤:右键“此电脑” -> 属性 -> 高级系统设置 -> 环境变量 -> 在“系统变量”里找到Path,双击编辑,点“新建”,把C:\android\platform-tools这一行加进去,点确定。然后重新打开一个 cmd 窗口,输入adb version,如果显示出类似Android Debug Bridge version 1.0.39的信息,就说明配置成功了。
注意:配置完环境变量后,一定要重新打开 cmd 窗口,旧的窗口不会自动读取新的环境变量。我见过不少朋友配置完还在原窗口里敲命令,结果一直提示“不是内部或外部命令”,误以为是配置失败了。
另外,如果你用的是 PowerShell,不需要额外设置,因为 PowerShell 会继承系统环境变量。但如果你用 Windows Terminal 且之前已经打开过,要开新标签页才会生效。
2.3 验证安装是否成功
配置完环境变量后,在 cmd 或 PowerShell 里执行两个命令验证一下:
adb version fastboot --version如果都能正确输出版本号,恭喜你,工具链已经通了。如果adb提示找不到,检查 Path 是否真的包含了platform-tools文件夹,注意不是platform-tools里的某个子目录,直接指向包含 adb.exe 的那一层。
还有一个细节点:打开资源的路径时,如果文件夹里能看到 adb.exe,但 cmd 里就是无法执行,可以先手动在 cmd 里切换到该目录运行adb.exe。如果这样能跑,说明环境变量没生效;如果不能跑,说明 exe 本身有问题,比如被杀毒软件隔离了。
3. 核心工具实操:adb 和 fastboot
3.1 ADB 连接手机与常用命令
先用数据线把手机连到电脑,手机开启 USB 调试(不同品牌打开方式略不同,一般是设置 -> 开发者选项 -> USB 调试)。电量建议保持 50% 以上,防止调试过程中意外断电。
连接后执行adb devices,输出区域应该会显示一行类似:
List of devices attached 0123456789ABCDEF device如果显示的是unauthorized,说明手机屏幕上弹出了“是否允许 USB 调试”的对话框,你需要在手机上勾选“始终允许”并点击允许。如果显示offline,一般是驱动问题或 USB 线质量差,先换个接口或者换一根短一点的线。
常用命令我列几个最实用的:
| 命令 | 作用 |
|---|---|
adb shell | 进入安卓系统的 shell 交互环境,能直接敲 Linux 命令 |
adb install xxx.apk | 安装一个 APK 文件到设备 |
adb uninstall 包名 | 卸载应用 |
adb push 本地路径 设备路径 | 把电脑文件推送到手机 |
adb pull 设备路径 本地路径 | 把手机文件拉取到电脑 |
adb logcat | 实时查看系统日志,排查崩溃极其好用 |
adb reboot bootloader | 重启进 bootloader(recovery 模式对面的那个) |
adb reboot recovery | 重启进 recovery 模式 |
这里提示一句,adb install最烦的是安装失败。如果你遇到INSTALL_FAILED_UPDATE_INCOMPATIBLE,说明手机上已经装过相同包名但不同签名的应用,先卸载再用adb uninstall 包名卸载干净。如果是INSTALL_FAILED_TEST_ONLY,说明 APK 是测试包,可以加-t参数强行安装:adb install -t xxx.apk。
对于想直接复制 apk 到手机上用文件管理器安装的朋友,adb push xxx.apk /sdcard/Download/比用微信传文件干净多了,而且不会改变文件属性,安装成功率会更高。
3.2 Fastboot 刷机时的关键用法
fastboot这个工具是用来在 bootloader 模式下刷机的。进入 bootloader 的方式有两种,一是关机状态下按住音量键减+电源键,二是执行adb reboot bootloader。进入后手机会停留在一个大大的“FASTBOOT”界面(部分品牌不一样,比如小米是兔子图标)。
这时执行fastboot devices,输出应该类似0123456789ABCDEF fastboot。如果没有任何输出,说明驱动有问题或者 USB 口不对,最常见的坑在后面第 4 章详说。
fastboot 的常用命令其实就几个:
fastboot flash boot boot.img fastboot flash recovery recovery.img fastboot flash system system.img fastboot boot boot.img fastboot erase userdata fastboot reboot刷机前一定要确认你刷的镜像文件适合当前设备,特别是system分区,刷错直接变砖。fastboot flash boot boot.img是刷内核,fastboot boot boot.img是临时启动到某个内核,不进系统,适合测试新内核而不破坏原系统。如果你只看过教程没实操过,建议先在老设备上练手,别拿主力机试。
重要提示:
fastboot erase userdata会清除所有用户数据,相当于恢复出厂设置,操作前务必做好备份。刷机有风险,变砖了别找我,自己承担。
3.3 驱动问题与 USB 调试细节
Windows 下最大的坑就是 USB 驱动。很多新手手机插上电脑,提示“无法识别的 USB 设备”,或者adb devices一直显示空列表。大多数情况下是驱动缺失。
解决办法:去你手机品牌官网下载对应的 USB 驱动(比如小米、华为、三星都有专门的驱动包),安装后重启电脑。也可以使用 Windows 更新自动搜索驱动,不过成功率不高。如果你是刷机爱好者的老油条,一般都会装一个通用的 Naked ADB Driver,那东西能覆盖大部分设备,但安装时需要禁用驱动签名强制(开机按 F8 选择禁用驱动签名,或者通过高级启动设置)。
另一个细节是 USB 调试授权问题。首次连接时,手机端会弹窗询问“是否允许 USB 调试”,要勾选“始终允许”。如果之前点了“拒绝”,以后不会再弹窗,需要在手机开发者选项里选择“撤销 USB 调试授权”,然后再重试。
还有一点,某些品牌手机需要开启“开发者选项”里的“USB 调试(安全设置)”或者“模拟点击”权限,比如小米需要登录账号开启“允许通过 USB 安装应用”。如果你发现adb install失败,提示需要手动在手机上确认,就是这个开关没打开。
4. 常见问题与排查技巧实录
4.1 adb devices 显示 unauthorized
这个提示的意思是手机没有授权这台电脑。最常见的原因是你之前连接过另一台电脑,或者手机的安全策略重置了。解决方法是:
- 拔掉 USB 线。
- 在手机的开发者选项中,找到“撤销 USB 调试授权”,点击确认。
- 重新插上线,手机屏幕上会再次弹出授权弹窗,勾选“始终允许”,然后允许。
- 再执行
adb devices,此时应该变成device。
如果手机没有弹出授权框,可以把手机锁屏后重新解锁,或者检查 USB 连接方式,需要选择“文件传输(MTP)”模式,部分手机在“仅充电”模式下不会弹授权框。
4.2 fastboot 卡在 waiting for device
这个问题出现频率极高,fastboot devices没有任何反应,一直卡在waiting for device。大多数是驱动不对,或者手机处于 “fastboot 模式”但设备管理器里显示的驱动是 ADB interface 而不是 Android Bootloader interface。
检查设备管理器:快捷键 Win+X -> 设备管理器 -> 找到“便携设备”或“通用串行总线设备”,如果看到有设备带黄色感叹号,右击更新驱动,然后手动选择“Android Bootloader Interface”或“Android ADB Interface”进行指定安装。
另一个情况是 USB 3.0 接口的兼容性问题。部分老机型在 USB 3.0 口进 fastboot 后无法识别,换个 USB 2.0 的口子试试。如果你用的是前面板 USB 口,也尽量换到主板背面的 USB 口。数据线也换一根,别用只支持充电的线。
4.3 端口冲突与 5037 占用
adb默认使用 5037 端口,有时候其他软件会占用这个端口,导致 adb 无法启动连接,最常见的是各种手机助手(比如 360 手机助手、XX 手机助手)和模拟器。
症状是adb devices卡住很久不出结果,或者报cannot bind 'tcp:5037'。可以查一下端口占用:
netstat -ano | findstr 5037会显示一个 PID,用tasklist | findstr PID号查看是哪个进程占用的,如果是第三方助手,直接结束进程,或者卸载。更简单粗暴的是重启电脑,大部分端口冲突都能解决。
4.4 Windows 命令行乱码与编码问题
Windows 默认编码是 GBK,而 adb 输出的很多内容,比如 logcat 里的中文,默认是 UTF-8,所以 cmd 里经常看到乱码。这个问题不算严重,但很影响排查问题。解决办法是在 cmd 窗口标题栏右键 -> 属性 -> 选项 -> 勾选“使用 Unicode UTF-8 提供全球语言支持”,或者直接执行:
chcp 65001把代码页切到 UTF-8,再跑adb logcat就正常了。不过chcp 65001之后,某些老命令的输出会变怪,但整体利大于弊。
还有一个小技巧:如果你觉得 cmd 窗口太小,可以在打开新窗口后按 Alt+Space -> 属性 -> 布局,把窗口宽度改大一点,这样 logcat 的行不会自动换行,查看更方便。
4.5 常见问题速查表
| 现象 | 最可能原因 | 解决方案 |
|---|---|---|
| adb 不是内部或外部命令 | 环境变量未配置 | 重新配置 Path,重启 cmd |
| adb devices 显示 unauthorized | 未授权调试 | 撤销 USB 调试授权后重新授权 |
| adb devices 显示 offline | 驱动兼容性或数据线问题 | 换 USB 口、换线、重装驱动 |
| fastboot 无设备 | 驱动不对或没进对模式 | 设备管理器更新驱动,换 USB 2.0 口 |
| fastboot flash 报错 | 镜像不匹配或平台版本太老 | 使用官方对应 version 的 platform-tools |
| adb install 卡住 | 5037 端口被模拟器占用 | 释放端口或关闭手机助手 |
| 中文乱码 | 代码页不正确 | chcp 65001 切 UTF-8 |
| adb.exe 闪退 | 缺 VC++ 运行库 | 安装 VC++ 2015-2019 运行库 |
5. 老版本工具的实际价值与一点个人经验
说了这么多,最后还是提一下我自己的习惯。虽然新版本 platform-tools 一直在更新,我电脑里也常备 r30 以上的版本,但我的 C 盘android文件夹下始终保留着 r28.0.1 这个老包。原因很简单,某些厂商的刷机工具和旧脚本对 fastboot 的命令输出做了依赖,新版本可能改了输出格式,导致脚本判断失误。在搞老设备或者维护祖传项目时,老版本反而让人安心。
另一个小技巧是:我把platform-tools的完整目录单独放到一个快捷方式里,平时用 adb 时,直接在 Windows Terminal 里按一个自定义快捷键Ctrl+Shift+A就能打开一个已经cd到该目录下的窗口。这样即使环境变量没生效,也能马上手动执行命令。
工具这东西,好用就行,不必盲目追新。如果你只是偶尔连一次手机,r28.0.1 完全够用;如果你长期做设备测试,建议保留多个版本,需要时按需切换。最后提醒一句,任何刷机、清数据操作前,一定先备份,这是我踩过无数次坑之后最想对你说的。
本文还有配套的精品资源,点击获取