昨天琢磨着写篇ADB的干货,结果翻资料把自己给绕晕了。这东西用着简单,但新手问题真不少。我干脆从头捋一遍,就当给硬盘清灰了。
一、环境搭建踩的坑
先官网下SDK Platform-tools,解压到D盘根目录。重点来了:环境变量!刚开始我傻乎乎双击*测试,黑窗口一闪就没了。折腾半小时才拍大腿——得告诉电脑这玩意儿在哪儿。打开系统环境变量,在Path里新建一条指向解压文件夹路径,重启终端敲adb version,蹦出版本号那刻差点哭出来。
- 注意: 别学我放桌面!路径带中文或空格必报错
- 偷懒技巧: 文件资源管理器地址栏直接输
cmd自动定位
二、设备死活连不上
插上线开调试模式,结果adb devices返回空列表。换了三条数据线,重启adb服务十几次,急得抓耳挠腮。发现:USB调试授权弹窗藏在手机通知栏里!之前弹窗被我划掉了——这玩意儿必须手动点允许。
更邪门的是华为机,得去开发者选项里开“仅充电模式下允许ADB调试”。我蹲在电脑前啃苹果等授权弹窗,苹果啃完才发现选项没开...
三、常用命令实战翻车
想导出手机截屏到电脑:adb pull /sdcard/Pictures/Screenshots,结果报错permission denied。搜了半天才明白安卓10之后得用沙盒路径:adb pull /sdcard/Pictures/Screenshots D:\截图
装测试包时遇到INSTALL_FAILED_UPDATE_INCOMPATIBLE,原以为得卸载重装。一条命令搞定:adb install -r -d 测试包.apk
- -r 保留数据覆盖安装
- -d 允许降级安装
四、最坑的无线调试
按教程adb tcpip 5555开端口,查手机IP再连adb connect 192.168.x.x。反复提示unable to connect,把防火墙关了都不行。发现是路由器开了AP隔离!手机和电脑在路由器眼里是俩陌生人,根本不让聊天。关了隔离秒连上,差点把路由器砸了。
测试时手贱拔了数据线,wifi调试突然断连。原来首次绑定必须接线,这细节教程里根本没人提!
五、日志抓取玄学
抓崩溃日志adb logcat -v time > D:\*,打开全是火星文。加过滤参数才救命:adb logcat :E只看错误日志。想抓具体App日志得先查包名:adb shell pm list packages grep 微信,再筛adb logcat grep *
完事儿清日志缓存又碰壁:adb logcat -c需要root权限!后来发现直接重启adb服务更省事:adb kill-server && adb start-server
结尾插曲
整理文档时突发奇想测试adb shell input keyevent 26,结果测试机黑屏休眠,办公室此起彼伏响起“咦我手机怎么灭了”——忘了连着十台测试机,全被我远程关机了...
这些坑够新手喝一壶了。建议收藏本文,下次踩坑直接来查药方。
