尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Windows下platform-tools r28.0.1安装配置与adb fastboot使用指南

Windows下platform-tools r28.0.1安装配置与adb fastboot使用指南 简介这一工具包面向安卓开发、测试与运维人员用于解决设备调试、应用安装和数据传输等日常问题。包内为平台工具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还是“不是内部或外部命令”今天我就把整个流程和常见坑一次讲清楚。先说这个包能干什么。adbAndroid 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 9Pie刚出。它内部包含的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 和 fastboot3.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重启进 bootloaderrecovery 模式对面的那个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。检查设备管理器快捷键 WinX - 设备管理器 - 找到“便携设备”或“通用串行总线设备”如果看到有设备带黄色感叹号右击更新驱动然后手动选择“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 窗口太小可以在打开新窗口后按 AltSpace - 属性 - 布局把窗口宽度改大一点这样 logcat 的行不会自动换行查看更方便。4.5 常见问题速查表现象最可能原因解决方案adb 不是内部或外部命令环境变量未配置重新配置 Path重启 cmdadb devices 显示 unauthorized未授权调试撤销 USB 调试授权后重新授权adb devices 显示 offline驱动兼容性或数据线问题换 USB 口、换线、重装驱动fastboot 无设备驱动不对或没进对模式设备管理器更新驱动换 USB 2.0 口fastboot flash 报错镜像不匹配或平台版本太老使用官方对应 version 的 platform-toolsadb install 卡住5037 端口被模拟器占用释放端口或关闭手机助手中文乱码代码页不正确chcp 65001 切 UTF-8adb.exe 闪退缺 VC 运行库安装 VC 2015-2019 运行库5. 老版本工具的实际价值与一点个人经验说了这么多最后还是提一下我自己的习惯。虽然新版本 platform-tools 一直在更新我电脑里也常备 r30 以上的版本但我的 C 盘android文件夹下始终保留着 r28.0.1 这个老包。原因很简单某些厂商的刷机工具和旧脚本对 fastboot 的命令输出做了依赖新版本可能改了输出格式导致脚本判断失误。在搞老设备或者维护祖传项目时老版本反而让人安心。另一个小技巧是我把platform-tools的完整目录单独放到一个快捷方式里平时用 adb 时直接在 Windows Terminal 里按一个自定义快捷键CtrlShiftA就能打开一个已经cd到该目录下的窗口。这样即使环境变量没生效也能马上手动执行命令。工具这东西好用就行不必盲目追新。如果你只是偶尔连一次手机r28.0.1 完全够用如果你长期做设备测试建议保留多个版本需要时按需切换。最后提醒一句任何刷机、清数据操作前一定先备份这是我踩过无数次坑之后最想对你说的。本文还有配套的精品资源点击获取
返回列表