加入收藏 | 设为首页 | 会员中心 | 我要投稿 站长网 (https://www.0350zz.com/)- 应用程序、AI行业应用、CDN、低代码、区块链!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

Unix下Android调试卡壳?三步定位90%环境顽疾

发布时间:2026-11-04 08:02:13 所属栏目:Unix 来源:DaWei
导读:  三个月前,老陶在工位上啃着冷掉的麻辣香锅,塑料盒底还粘着两粒花生——他那会儿正盯着Android模拟器里一个卡在“connecting to adb server”的灰屏,鼠标滚轮已经滑了四百一十七下。我蹲在他身后第三把椅子上,椅面还

  三个月前,老陶在工位上啃着冷掉的麻辣香锅,塑料盒底还粘着两粒花生——他那会儿正盯着Android模拟器里一个卡在“connecting to adb server”的灰屏,鼠标滚轮已经滑了四百一十七下。我蹲在他身后第三把椅子上,椅面还残留着前天运维小张没擦干净的咖啡渍。窗外下着那种黏糊糊的毛毛雨,玻璃上挂水珠不是往下走,是斜着爬。


  我原以为是adb端口被占,结果杀进程、重启adb、换USB线、换USB口、重装platform-tools……全试完,设备列表还是空的。老陶忽然把耳机扯下来甩在桌上,耳塞弹出去两米远,撞到QA组长林薇的保温杯,哐一声,她抬头看了一眼,又低头继续敲Jenkins流水线配置,手指没停,连眉头都没皱一下。


  三步定位?哈。第一步:`which adb`——输出/usr/local/bin/adb;第二步:`adb version`——显示1.0.41;第三步:`ls -la $(which adb)`——软链指向/opt/android-sdk/platform-tools/adb,而那个目录底下,根本没adb二进制,只有四个空文件夹,命名像模像样:adb、fastboot、mke2fs、sload_f2fs。我敢打包票,那个sload_f2fs文件夹是上周开发老陈误删后手抖mkdir出来的——他当天穿了双蓝白相间的洞洞鞋,脚踝上还沾着一点灰泥,准是修完机房空调外机回来的。


文章配图,仅供参考

  环境不一致?测试环境全绿?扯淡。我们那套“全绿”用例跑在Docker镜像里,镜像build脚本里写了`apt install android-tools-adb`,结果Debian12的包管理器偷偷替换成`adb-bridge`,接口兼容但不传`-d`参数时直接哑火——这个我查了十八秒就确认了,因为`strace -e trace=connect adb devices`里压根没看到connect系统调用。可上线前的冒烟报告里,这一步只写了个绿色勾,断言是`return_code == 0`,连stdout都懒得抓。老陶那天凌晨两点发截图问我:“你看这算通吗?”我回:“算。只要exit 0它就认你妈。”


  机房空调嗡嗡响,低频震得桌角震动,我左手边第三块键盘托架螺丝松了,每次敲enter键,整个托架就往上弹半毫米。去年双十一也是这毛病,没人修,说“不影响功能”。对,真不影响——就像`which adb`返回路径不等于`adb`能用一样,不影响它在报告里打勾。


  最绝的是林薇写的那个自动化清理脚本,名字叫`cleanup-android-env.sh`,里面第五行写着`rm -rf $ANDROID_HOME/platform-tools/`,但第六行又跟了一句`cp -r /backup/sdk-tools/ $ANDROID_HOME/platform-tools/`——问题在于,她备份的那份toolchain,是去年四月从隔壁组借来的,里面adb版本比当前系统glibc高两级。所以脚本每跑一次,就给环境种一颗雷。老陶上周测完回归,顺手点了一次一键部署,结果当晚所有UI自动化都卡在appium启动环节。不是代码改了,是那天中午保洁阿姨推着吸尘器路过他工位,静电干扰导致某台Mac mini自动休眠,唤醒后bash session丢了PATH——而他本地PATH里刚好有个临时加的`/usr/local/opt/adb-m1-fix/`……这个我说不准,没抓日志,但看他盯着终端里`command not found: adb`发呆的样子,八成是那儿。


  “Unix下Android调试卡壳?三步定位90%环境顽疾”——这个标题站得住?站得住。不是因为步骤多科学,是优胜劣汰筛出来的。活下来的,都是没被`rm -rf /`误操作干掉、没在`$PATH`里混进两个同名adb、没信过“我本地好的”截图的人。信这个的,早被回滚邮件淹死了。老陶现在桌上贴了张便签,印着二维码,扫出来是`adb kill-server && adb start-server && adb devices`三行命令——字是打印的,但下面手写着一行:“别信which,信lsof -i :5037”。他昨天还把那盒麻辣香锅倒进了茶水间绿植盆里,说辣椒油能防虫。


  我今早看到运维群里老陈发消息:“机房新换的冷凝水管道有点异响,像指甲刮黑板”,底下跟了七条“收到”,没人提是不是该检修。我回了个????,顺手把`/opt/android-sdk/platform-tools/`下的四个空文件夹全改成了`.dead`前缀。明早要不要补个PR?先等等——等哪天老陶的保温杯盖子掉进排水槽再说。那玩意儿还没捞出来,堵了三天了。

(编辑:站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!