资讯动态

ADB 环境搭建与驱动安装全攻略:从 USB 调试到 adb devices 故障排查

发布时间:2026/10/1 1:05:33 来源:尧图企业网站定制
不少刚接触安卓开发、刷机或者玩机的人第一道坎不是代码也不是刷机包而是卡在 ADB 环境上。我见过太多人下载了平台工具手机插上电脑却一点反应都没有设备管理器里要么不识别要么显示一个黄色感叹号最后只能到处找“一键安装驱动”的软件装完还是一堆问题。这篇东西我就把自己这几年反复装 ADB、打驱动、处理各种识别异常的经验完整写出来涵盖 Windows、macOS 和 Linux重点放在 Windows 上毕竟绝大多数人玩机用的都是 Windows。内容会从工具选择、驱动安装、连接调试到高频命令逐层展开照着做基本不会再被环境问题卡住。1. 先搞清楚 ADB 到底是个什么东西为什么总在“装”这一步翻车ADB 的全称是 Android Debug Bridge翻译过来叫安卓调试桥。名字里有“桥”这个字非常形象——它就是你电脑和安卓设备之间的一座双向通道。数据既可以由电脑推给手机也可以由手机拉回电脑而且这个通道不只是传文件还能执行 shell 命令、安装卸载应用、抓取日志、模拟点击和输入事件甚至可以改变设备的运行状态。但是桥要搭起来有四个环节缺一不可电脑端有 ADB 可执行程序adb.exe 或 adb 二进制文件设备端开启了“开发者选项”中的 USB 调试开关系统识别到了这台设备并且加载了正确的 USB 驱动电脑端和设备端的 ADB 版本、协议能够互相匹配认证通过大多数人一上来就查“ADB 怎么安装”实际只是在执行第 1 步下载了一个 adb.exe然后双击运行发现界面一闪而过或者命令提示符报“不是内部或外部命令”就彻底懵了。然后又开始折腾第 3 步驱动找了一堆“驱动精灵”“驱动人生”之类的软件装完发现手机还是无法识别。真正的问题往往出在环节错乱——驱动不是装得越全越好ADB 程序也不是放进 C 盘根目录就行每一步都有它自己的逻辑在里面。先说一个核心概念很多新手分不清“ADB 程序”和“ADB 驱动”的区别。我遇到过有人把 adb.exe 当作驱动来安装也有人把驱动软件当作调试工具来使用。这两个东西完全是两码事ADB 程序一个可执行命令行工具跑在你电脑上它的任务是发出指令、接收结果ADB 驱动一段系统级的驱动程序跑在内核层面它的任务是让操作系统识别并正确连接你的设备打个比方ADB 程序是翻译官ADB 驱动是电话线和信号基站。翻译官只会说话但如果没有电话线把声音传过去对面根本听不到反过来电话线铺好了没有翻译官你也组织不出一句像样的指令。所以正确顺序是先装好线驱动再启用翻译官ADB 程序最后确认两边能通话adb devices 验证。2. 正确获取 ADB 工具不要再去搜索引擎找乱七八糟的下载站了2.1 唯一推荐来源Google 官方 Platform Tools获取 ADB 工具这件事我只推荐一个来源Google 官方的 Android Studio 下载页里的 Platform Tools 压缩包。这个包的地址是 https://developer.android.com/studio/releases/platform-tools 进入后找到 Downloads 区块里面有对应 Windows、macOS、Linux 三个平台的压缩包。点击下载即可通常几 MB 到十几 MB 大小。有人会问为什么不用国内网友打包的“一键安装版”我的回答是想省事反而容易出大事。网上的所谓 ADB 一键安装包里面经常捆绑旧版本、自带损坏的驱动脚本甚至有人往里面塞过修改过的 adb.exe——表面功能正常但是会在后台执行不明操作这在安全圈里已经不是新鲜事了。ADB 本身权限极大它通过 USB 通道可以执行任何 shell 命令、安装任意应用、读取设备文件如果这个程序的二进制被植入后门相当于你把整个设备的钥匙交给了陌生人。所以我的建议很朴素用官方包断掉一切风险源。而且官方包还有一个好处——自带当前最新的 ADB 协议版本和 Android 14、15 及以上版本的设备兼容性最好。2.2 解压与目录结构理解你下载的东西下载得到的压缩包名字一般是platform-tools_r35.0.2-windows.zip这种格式解压后得到一个platform-tools文件夹里面核心文件有这些文件作用adb.exeAndroid 调试桥主程序AdbWinApi.dllADB 依赖的动态链接库和 adb.exe 同目录不能删AdbWinUsbApi.dllUSB 相关动态链接库同样不能删fastboot.exe刷机模式专用工具和 ADB 配合使用libwinpthread-1.dll一些版本需要的线程库这里一定要强调adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll 这三个文件必须处于同一目录。很多人遇到双击 adb 报错提示找不到 DLL就是因为只拷贝了 adb.exe 出来忽略了两个 DLL 文件。所以不要自作聪明只拿 adb.exe 放到 C:\Windows\System32 下最好就是把整个platform-tools文件夹解压到一个固定位置比如C:\adb或者D:\android\platform-tools之后不再移动它。macOS 和 Linux 下解压后直接给 adb 二进程设置可执行权限即可macOS 用户可以直接把 platform-tools 文件夹放到/Users/你的用户名/development/下Linux 用户一般放到~/android/platform-tools。2.3 配置环境变量让系统全局找到 adb解压完成之后如果照常用 WinR 输入 cmd然后敲 adb大概率会得到“不是内部或外部命令”的错误提示。原因很简单——系统不知道 adb.exe 在哪个路径下它只会在当前目录、PATH 环境变量包含的目录里找可执行文件。所以第二步就是把 platform-tools 目录加进系统环境变量。Windows 上的操作路径右键“此电脑” - 属性 - 高级系统设置 - 环境变量 - 在“系统变量”区找到 Path双击编辑然后“新建”粘贴你的 platform-tools 绝对路径比如C:\adb保存之后重新打开一个 cmd 窗口再输入adb version验证。注意一个隐藏坑编辑完系统环境变量后之前已经打开的 cmd、PowerShell、终端窗口都不会自动刷新环境变量必须重新打开一个窗口。验证方式很简单输入adb version能看到类似Android Debug Bridge version 1.0.41的输出就说明配置成功。macOS 上配置环境变量的方法是在~/.zshrc里追加一行export PATH$PATH:/Users/你的用户名/development/platform-tools然后执行source ~/.zshrc刷新。Linux 同理改~/.bashrc或~/.zshrc。3. 驱动安装全解不同设备、不同芯片对应的方案完全不一样这是整篇教程里最核心、也最容易让人崩溃的部分。我直接给出一个结论绝大多数识别失败不是因为没装驱动而是装了错误型号的驱动。不同品牌、不同 SoC 芯片、不同 Android 版本的设备在 USB 驱动层面的表现方式完全不同。3.1 先区分两种设备类别插上线后设备管理器里出现的情况可以分成两大类ADB Interface 类设备识别为一个“Android Composite ADB Interface”或者带 ADB 字样的设备这种状态下说明驱动已经基本正确后面只需要授权和版本匹配Unknown Device 或其他设备显示为“未知设备”、黄色感叹号这种情况下需要安装正确驱动识别成 unknown 不代表没驱动很多人插上老款华为手机、vivo 手机在设备管理器里看到的是带感叹号的“USB 输入设备”或者“USB Composite Device”这时候根本不是缺“ADB 驱动”而是缺设备厂商的 USB 驱动通常和手机助手软件的驱动打包在一起。3.2 新设备通用方案Google USB Driver如果你的手机是近几年的主流机型Android 版本在中高版本以上最省事的方式是安装 Google USB Driver。这个驱动位于 Android SDK Manager 里如果你下了完整的 Android Studio在 SDK Manager 的 Extras 里可以勾选下载。但大多数人不装 Android Studio所以我更推荐直接去 Android 开发者官网下载驱动压缩包。Google USB Driver 下载地址https://developer.android.com/studio/run/win-usb下载后是usb_driver_r13-windows.zip之类的压缩包解压后是一个usb_driver文件夹。在设备管理器里右键叹号设备 - 更新驱动程序 - 浏览我的电脑以查找驱动程序 - 指向刚才解压的 usb_driver 文件夹确认安装。需要注意Google USB Driver 只提供谷歌原生兼容的 ADB 接口很多国产品牌会对 VID 做特殊处理所以不一定指定到该文件夹就一定能认出来。3.3 各家品牌驱动方案速查结合我自己的实测和从网上整理的常见问题反馈列出以下品牌方案表。这里说的驱动文件通常在你安装对应品牌手机助手软件时会自动解压到系统里或者你想干净一些也可以去官网单独找 USB 驱动下载。品牌驱动方案备注华为/荣耀安装华为手机助手HiSuite时自动安装底层驱动老款设备需要在拨号盘输入*#*#2846579#*#*进入工程菜单打开“USB 调试”相关选项小米/红米小米手机助手或小米 USB 驱动应用MiUI 设备在设置里开启 USB 调试插线后默认会对设备进行授权确认vivo/iQOOvivo 手机助手或 vivo USB 驱动vivo 部分机型对驱动要求严格插线后手机上需要选择“传输文件/Android Auto”模式OPPO/一加OPPO 手机助手OPhone 助手或通用 ADB 驱动注意新版 ColorOS 默认需要进入开发者模式后开启“USB 调试”和“禁止权限监控”三星Samsung USB Driver for Mobile Phones三星官方提供独立驱动包在开发者官网搜索 Samsung USB Driver 下载否则无法识别索尼Sony PC Companion 或通用 Google 驱动新版设备通用性较好摩托罗拉Motorola Device Manager老款设备建议使用官方驱动传音/小众品牌先试通用 Google 驱动再试联发科方案多数使用 MTK 芯片见下文如果你实在不想下载那么多助手软件也有一个通用的做法很多国产手机在开发者选项里开了“USB 调试”后插线仅选择“仅充电”模式就会出现设备此时在设备管理器里更新驱动指向 Google USB Driver往往就能识别出 ADB 接口。关键是不要插线后默认选“传输文件MTP”这个模式有时会导致驱动接口优先级错乱。3.4 特殊芯片方案MTK 和展讯联发科MediaTek芯片的设备是最容易出驱动问题的。如果你在设备管理器里看到设备名带有MediaTek、DA、PreLoader字样那不是普通 ADB 驱动能搞定的需要安装联发科 USB 驱动MTK USB Driver。这类驱动常见版本是MTK_Driver_Auto_Installer或者MediaTek USB Port驱动。不过要注意此类 MTK 驱动主要是为线刷和底层工作服务的和 ADB 调试驱动往往是两套。展讯Spreadtrum/UNISOC方案的设备较少但电视盒子、一些山寨平板会用到。需要安装 Spreadtrum USB Driver这类驱动通常随刷机工具附带。3.5 通用 ADB 驱动替代方案OEM 打包驱动如果你已经被品牌和芯片版本搞到不耐烦还有一个“老司机”方法下载知名第三方整合的 ADB 驱动包比如“Universal ADB Driver”或者带签名工具的整合包。这个方案的最大优势是包含绝大多数品牌的 VID/PID 列表安装后设备管理器能直接识别出 ADB 接口。但必须提醒这类驱动包的来源复杂请务必到信誉相对好的论坛或开源仓库下载下载后先用杀毒软件扫一遍再安装。我个人的态度是“能用官方就用官方除非老设备实在找不到官方驱动再退而求其次。”3.6 驱动安装后的验证方法驱动装没装好不能只看软件提示“成功”必须以设备管理器显示为准。连上手机后打开设备管理器展开“便携设备”或“ADB 接口”相关节点看到设备名中带有Android、ADB Interface字样且无黄色感叹号才说明驱动正确加载了。如果是 Windows 上识别结果应该在设备管理器里长这样Android Phone └── Android Composite ADB Interface有的设备会显示为ADB Interface或Android ADB Interface都算正常。如果它出现在“其他设备”里还叫ADB Interface说明是后端驱动加载失败了右键更新驱动或删除设备后重新扫描硬件改动试试。4. 让设备真正进入调试状态开发者模式、USB 调试与授权驱动装好只是基础真正连接还需要设备端配合。很多人就是栽在这一步——电脑上 adb 程序、驱动都准备好了adb devices却还是看不到设备或者在手机上弹了一个“是否允许 USB 调试”的窗口手忙脚乱点了取消之后就再也连不上了。4.1 开启开发者选项不同品牌的进入方式略有差异但多数在“设置 - 关于手机 - 版本号”里连点 7 次屏幕提示“您已进入开发者模式”即可。老款华为/荣耀设备可能是在“设置 - 系统 - 关于手机”里连点版本号小米/红米则是连续点击“MIUI 版本”vivo 是点击“软件版本号”也有些 ColorOS 设备需要点击“版本号”而非“Android 版本”。然后回到设置主菜单新的“开发者选项”入口就出现了。进入后找到“USB 调试”打开它部分设备还有个“USB 安装”之类的选项建议也一并打开否则后面安装 apk 时会拦截。4.2 插线后的模式选择与授权窗口充电、数据传输、MTP、RNDIS——这几种 USB 模式一定要有所了解。插上线后从手机顶部下拉通知栏选择 USB 配置仅充电有些设备在这种模式下反而更容易进入 ADB 接口因为系统会优先加载 ADB 功能传输文件 / MTP最常用的模式大部分设备在这个模式下 ADB 也能正常工作传输照片 / PTP部分老设备建议选择此模式再试MIDI / RNDIS很少会用到遇到无法识别时可以作为备选测试最佳策略先把 USB 模式选成“仅充电”或“传输文件”然后看手机屏幕是否弹出授权对话框若弹出勾选“始终允许使用这台计算机进行调试”然后点允许。adb devices第一次输入该命令时设备状态会显示为unauthorized。这是正常的——Android 设备需要你物理确认授权。检查手机屏幕上的弹窗点“允许”之后重新执行adb devices状态就会变为device。如果你手速太快已经点了拒绝或者弹窗一闪而过没看清解决办法是在开发者选项里找到“撤销 USB 调试授权”点击后重新插拔 USB 线再次输入adb devices重新授权。或者直接执行adb kill-server adb start-server让服务重启后重新请求设备授权。4.3 常见场景电视盒子、模拟器和游戏机ADB 不只在手机上用电视盒子、模拟器、智能电视上也是高频应用。这里列几个容易踩坑的场景夜神/雷电模拟器这类模拟器自带一个 adb.exe如果你用系统全局的 adb 连接默认端口对不上。夜神模拟器的 ADB 端口是 62001雷电模拟器常见端口是 5555。连接方法是adb connect 127.0.0.1:62001如果报连接失败在模拟器设置里看当前 ADB 端口是多少换对应端口连接即可。有时候模拟器会提示“adb 掉线”那是因为它自带的 adb 版本和你的版本不一致把模拟器安装目录下的 adb.exe 替换成你的新版 adb.exe 就能解决。老款创维/海信电视不少电视需要先在工厂菜单或者特定应用里打开 ADB 开关有些电视的 ADB 开关藏在“设置 - 关于 - 版本号连点”里有些则需要安装当贝市场或特定 apk 来打开。电视系统版本较老时可能只支持 Android 5/6adb 版本太新反而连接失败这时候可以换一个旧版 adb比如 1.0.32 或 1.0.36试试。vivo 设备的精简列表操作vivo 手机在官方系统中限制了部分应用无法卸载但可以通过 ADB 命令执行pm uninstall --user 0 包名实现“冻结应用”后续如果想恢复可以在命令行窗口执行pm install-existing 包名或者恢复出厂设置。注意精简系统应用有风险只建议把明显无用的内置应用冻结不要动系统核心应用。4.4 网络 ADB 与端口占用问题有些场景下你不想用 USB 线比如使用无线调试。Android 11 及以上系统支持“无线调试”功能不需要 root 就能开。操作步骤开发者选项 - 无线调试 - 打开然后记住界面里显示的 IP 地址和端口通常是六位随机端口比如 192.168.1.100:38271电脑端执行adb pair 192.168.1.100:38271配对成功后还需要一个连接步骤界面里点“使用配对码配对设备”会出现六位配对码在执行adb pair后按提示输入即可。配对成功后执行adb connect 192.168.1.100:38271老版本 Android如 Android 10 及以下则是先在手机端开启“网络调试”或通过 USB 连上后执行adb tcpip 5555 adb connect 192.168.1.100:5555这里有个高发坑电脑上有多个 adb 版本并存比如淘宝刷机工具、手机助手、模拟器自带都各有一份执行adb connect时用的是旧版本导致死活连接不上。我之前排查过一个用户的问题他的系统里存在三个 adb.exe命令路由到了一个 1.0.26 的老版本换了新版之后秒连。所以遇到连接异常第一件事是确认当前命令行里执行的 adb 到底来自哪个目录。5. 故障排查全链路从感叹号到 unauthorized逐个击破这一节把常见的 ADB 连接失败场景汇总成一个排查链路希望你遇到问题时可以按顺序操作而不是东查一个教程西试一个方法。5.1 排查链路总览我给这个问题画一个排查顺序按层级从底层到高层逐步推进换一根数据线——线的问题比想象中常见得多很多杂牌线只能充电不能传数据换一个 USB 接口——优先用主机背面的 USB 2.0/3.0 口不要用前置面板设备管理器看驱动状态——确认没有黄色感叹号手机端确认开发者选项和 USB 调试开启插拔线后看手机是否弹出授权窗口adb kill-server然后adb devices重新检测查电脑上是否有多版本 adb 冲突试不同 USB 模式仅充电、传输文件等这八步覆盖了九成以上“连不上”的场景。5.2 adb devices 输出详解成功连接后adb devices输出一般是这个样子List of devices attached RF8N20ABCDE device状态列常见三种状态含义处理方式device正常状态代表已连接且已授权可以直接使用所有 adb 命令unauthorized设备已识别但未授权看手机弹窗允许即可或撤销授权后重试offline设备曾经连接过但当前处于离线状态插拔线重开调试或adb kill-server后重新连有一个特殊情况设备序号那一列如果显示????????????而不是正常的十六进制序列号说明驱动识别层面已经出问题了即使状态显示 device 也最好不要依赖优先解决驱动问题。5.3 adb unauthorized 到底怎么解决这个词在上热搜词里出现了说明是高频问题。unauthorized产生的根本原因就是设备处于“已连接但未授权”的状态通常在首次连接时出现。解决流程如下确保手机屏幕处于解锁状态不要锁屏看是否有“允许 USB 调试吗”弹窗有就直接允许并勾选“始终允许”如果没弹窗在开发者选项里执行“撤销 USB 调试授权”然后重新插拔线如果还未弹窗把 USB 模式切换一下比如从传输文件切到仅充电再切回来执行adb kill-server和adb start-server重启 adb 服务如果以上都无效还有一个少见但确实存在的原因手机时间和你电脑时间相差太大导致 RSA 密钥验证失败。把两边时间校准到接近状态再试一次。5.4 驱动识别正常但设备列表为空这种情况通常让人抓狂设备管理器里面明明能看到Android Composite ADB Interface设备也没有红色感叹号但adb devices就是空列表。可能原因几乎可以锁定在USB 模式。我遇到过一台老款 vivo 手机只有在“仅充电”或者“传输照片PTP”模式下才能被 ADB 正确枚举一旦切到“传输文件MTP”设备管理器里的 ADB Interface 就消失。所以遇到设备列表为空时去切换手机端 USB 配置每个模式都试一遍。还有一个原因是 32 位系统的兼容性问题极老版本的 adb1.0.26 之类适合老系统如果你在 Windows 10/11 上用的是远古版本 adb也有可能出现枚举成功但协议不匹配。这时候升级到最新 Platform Tools 即可。5.5 Windows 下驱动安装失败数字签名问题Windows 7 或者某些精简版 Windows 10 系统上安装老型号设备的驱动经常会遇到“驱动程序数字签名”问题系统直接拒绝安装。处理方法重启电脑开机时不停按 F8进入“禁用驱动程序强制签名”模式在高级启动选项里选择“更改高级启动选项 - 立即重启 - 疑难解答 - 高级选项 - 启动设置 - 重启 - 按 7 或 F7 选择禁用驱动程序强制签名”注意这个禁用状态只对当前启动有效下次重启后自动恢复。如果需要长期安装驱动建议采用官方签名的驱动包而不是强行关闭签名验证。5.6 电视/盒子的 ADB 连接特殊问题电视盒子连接 ADB 时有一点和手机完全不同很多盒子默认没有打开“USB 调试”的入口需要先用遥控器进设置打开“开发者选项”部分型号还要在“关于”里连点“版本号”来激活入口。如果连开发者选项都没有那可能要用无线 ADB 方法确保电视和电脑在同一局域网用电视 IP 加端口连接。创维电视部分老型号需要在“设置 - 通用设置 - 关于”里连续点击“版本号”多次或者下载创维电视专用的 ADB 开关应用比如当贝市场里搜 ADB 开关。注意电视系统若是 Android 4.x/5.x新版 adb 的pair配对方式不适用直接用adb connect IP:5555的方式。5.7 使用第三方工具辅助排查USB Device Tree Viewer如果前面都排查完还不行我建议你用USB Device Tree Viewer或UsbTreeView这类工具查看电脑上真实的 USB 设备枚举树。它能显示每个 USB 端口的设备描述符、VID、PID、驱动是否加载、设备是处于正常工作状态还是故障状态。这个工具对排查 Serial/Composite 设备特别有用。比如你在树里看到设备显示Device Busy或者Device has no driver loaded就知道问题出在驱动加载层如果看到整个节点都不存在说明 USB 链路本身没有建立那就该换线换口了。这种工具信息量大但看多了你会有一种“开了天眼”的感觉——以后遇到任何 USB 识别问题都不用瞎猜了。6. 驱动和连接搞定之后日常最常用的 ADB 操作环境搭好不是为了看adb devices一行的下面这些命令才是让你真正感受到“调试桥”价值的高频用法。6.1 安装和卸载应用# 安装 app-r 代表覆盖安装-t 允许安装测试包 adb install -r -t 你的应用.apk # 卸载应用后面是包名 adb uninstall com.example.package有些应用没法直接卸载尤其是系统预装应用可以尝试# 冻结用户应用Android 5.0 以上 adb shell pm uninstall --user 0 com.example.package # 恢复被冻结的应用 adb shell pm install-existing com.example.packagevivo 设备精简列表操作就是依赖这种方法比如很多用户会冻结内置浏览器、视频、游戏中心等包名。注意一定不要冻结com.bbk.launcher2这种桌面应用否则可能引起桌面崩溃。6.2 抓取 Logcat 日志这是开发调试和排查闪退的必备技能# 实时输出日志 adb logcat # 输出带时间戳、按优先级过滤V/D/I/W/E adb logcat -v time *:E # 清空旧日志后重新抓取并保存到文件 adb logcat -c adb logcat -v time app_log.txt # 抓取特定进程的日志 adb logcat --pid$(adb shell pidof com.example.package)抓日志时注意别忘了一个操作闪退问题通常需要先adb logcat -c清空缓存然后复现一次崩溃再抓回来否则日志里全是无关信息。另外如果设备上多个进程同时打日志输出会非常吵用包名过滤或 pid 过滤是更高效的方式。6.3 模拟低效不弹窗的操作屏幕点击、滑动、输入# 模拟点击坐标 500, 1200 adb shell input tap 500 1200 # 模拟滑动从 (500, 1500) 到 (500, 500)耗时 300ms adb shell input swipe 500 1500 500 500 300 # 输入文本仅支持 ASCII中文需借助 ADBKeyBoard 或剪贴板方案 adb shell input text hello_world这里要注意坐标是设备物理像素坐标不是 dp 也不是 app 内坐标。如果要做脚本自动化最好先adb shell wm size查看当前分辨率或者用adb shell wm density看屏幕密度再换算坐标。不同分辨率设备上坐标不通用这也是为什么很多自动化脚本只能针对某一台设备调优。6.4 设置屏幕刷新率相关热搜里有“adb 命令设置屏幕刷新率”这个功能适合部分支持高刷但系统没给出明确开关的设备# 查看当前支持的显示模式 adb shell dumpsys display | grep -E mSupportedModes|refreshRate # 将刷新率强制设置为 90Hz需要设备硬件支持 adb shell settings put system peak_refresh_rate 90 adb shell settings put system min_refresh_rate 90 # 恢复自动 adb shell settings delete system peak_refresh_rate adb shell settings delete system min_refresh_rate不是所有设备都支持这条命令部分厂商定制系统会封掉这个设置入口。实测小米、一加部分机型上可用其他品牌建议先查dumpsys display确认支持的刷新率列表再决定要不要改。6.5 禁用应用联网“adb 禁止应用联网”也是高频需求多数人想用这个来控制某些应用后台耗电或自动更新。正统做法是通过 iptables 限制但没 root 的情况下最常见的方案是# 查看应用 uid adb shell dumpsys package com.example.package | grep userId # 然后通过 iptables 限制该 uid 的联网需要 root adb shell su -c iptables -A OUTPUT -m owner --uid-owner 10034 -j REJECT没有 root 的设备替代方案就是进入系统“设置 - 应用 - 该应用 - 流量使用情况”手动关闭后台数据或者在应用内部设置里关掉自动播放、自动更新之类的选项。ADB 不提供直接管理联网权限的命令这一点要提前有预期。6.6 查看设备信息与文件操作# 查看设备型号、Android 版本 adb shell getprop ro.product.model adb shell getprop ro.build.version.release # 查看屏幕分辨率 adb shell wm size # 拉取设备文件到电脑 adb pull /sdcard/Download/xxx.mp4 D:\backup\ # 推送电脑文件到设备 adb push D:\backup\xxx.apk /sdcard/Download/文件操作权限在 Android 11 及以上的设备上受到分区存储限制比如直接拉取/data/data/包名底下的私有目录大概率会报权限错误除非是 root 过的设备。遇到权限不足时先考虑adb shell run-as 包名或者 root 方案。7. 多设备管理与进阶技巧不折腾纯粹就是懒得看命令当电脑上同时插着两三台设备或者同时连着真机和模拟器时之前的命令全部失效因为默认 adb 不知道该往哪台设备发送指令。多设备管理的三件套# 列出所有设备 adb devices -l # 指定序列号执行命令 adb -s 设备序列号 shell input tap 300 500 # 指定模拟器端口执行命令 adb -s emulator-5554 install test.apk序列号从哪里看adb devices第一列就是。真实设备是厂商名加一串十六进制的字符串模拟器则是emulator-端口号。多设备时建议每次操作前都要确认序列号不然很容易出现“我在设备 A 上输入了内容却跑到设备 B 上执行了”的乌龙。还有一个进阶技巧叫无线 ADB但很多教程没解释为什么连不上——当手机和电脑不在同一网段或者路由器开启了 AP 隔离无线 ADB 会直接失败。解决方法是让手机和电脑连同一个 Wi-Fi并且网段一致比如电脑是 192.168.1.x手机也必须是 192.168.1.x中间不能隔着多层 NAT。如果路由器开了“AP 隔离/无线隔离”功能需要先关掉或者把手机和电脑接在同一台交换机/路由器下。最后说一个每个经历过 ADB 环境问题的人都会同意的观点很多人以为装 ADB 是为了开发其实不是——它更像是一把打开安卓设备完整权限的钥匙。电视上装第三方应用、手机上冻结无用的系统应用、抓日志反馈 bug、备份数据都是靠这把钥匙实现的。如果哪天你发现自己的设备突然连不上电脑不要急着重装驱动先想想你是不是刚升级过 Android 系统、换过数据线或者改过 USB 模式九成问题都出在这三件事上。把基础原理摸透遇到再多新设备的连接问题你都能靠同一套排查思路解决。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑