加入收藏 | 设为首页 | 会员中心 | 我要投稿 站长网 (https://www.ruian888.cn/)- 科技、操作系统、数据工具、数据湖、智能数字人!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

鸿蒙开发环境Unix调试失败?90%卡在这3个隐蔽配置

发布时间:2026-11-06 14:31:40 所属栏目:Unix 来源:DaWei
导读:  去年元旦,我蹲在客户工位边盯鸿蒙调试,Unix终端卡在“waiting for device”八分钟。对面穿灰毛衣的甲方技术组长——姓周,总把“先做出来看看”当免死金牌——转着那支金属签字笔,笔尖磕桌沿,嗒、嗒、嗒,跟心电图一样准

  去年元旦,我蹲在客户工位边盯鸿蒙调试,Unix终端卡在“waiting for device”八分钟。对面穿灰毛衣的甲方技术组长——姓周,总把“先做出来看看”当免死金牌——转着那支金属签字笔,笔尖磕桌沿,嗒、嗒、嗒,跟心电图一样准。


  我原以为就缺个udev规则,结果发现不是。是三个东西全歪了:第一,/etc/udev/rules.d/99-harmonyos.rules里写死了vendor ID为0x12d1,可他们新批的三台开发机用的全是0x2717;第二,adb server没配成systemd user服务,非得等人工sudo adb kill-server再启,而他们CI脚本里压根没这行;第三,最关键的——他们把HDC_HOME环境变量设在了~/.bashrc,但Jenkins跑的是sh,连bash都懒得装。三处都查不到日志报错,只在终端底行闪一下“device offline”,像打喷嚏似的,完事就归零。


文章配图,仅供参考

  会议室投影仪嗡嗡响,蓝屏上还挂着上个会议的“2024战略解码”PPT第17页。水果盘在长桌正中,猕猴桃切片发褐,葡萄蔫了,没人碰。我回一条微信:“需要改udev规则和HDC_HOME加载方式”,删掉,重写:“要动系统级配置,建议停CI两小时”,又删,最后发:“现在马上停构建,我连你机器。”对方回:“哦,那等下个版本再搞?”


  销售老陈后来在电梯里拦我,西装领带歪着,说“客户觉得‘先做出来看看’就是能跑就行”。我说:“能跑?adb devices都不列设备,跑的是鬼火。”他点头哈腰:“反正预算三千块嘛……”话没说完,电梯门开了,里面站着前个月刚黄掉的教育SaaS客户——那个要求“包App Store排名前三”的小学英语APP老板,见我就笑:“哎哟,又来救火?”我没应。他手机弹出消息,我看清标题:“【重要】关于iOS审核被拒第7次的通知”。真巧,那天他也在等“先做出来看看”的Demo上线。


  他们说“优胜劣汰”?呵。优的是能忍的乙方,汰的是敢说不的甲方。上个月另一家,合同里写着“含HarmonyOS DevEco调试支持”,结果我连进他们服务器都要填三张《第三方访问申请表》,填到第四遍,发现审批人填错了邮箱后缀,是@harmonyos.com而不是@huawei.com。我问客户:“你们邮箱系统连华为官方域名都认不出来?”他顿了三秒,说:“对啊,我们运维说这个域名太新,怕是钓鱼的。”


  我调过Linux内核模块,debug过ARM汇编的cache coherency bug,写过自动续签Let’s Encrypt证书的Python爬虫,但没干过对着/usr/lib/udev/rules.d/里一份复制粘贴错的规则,在客户会议室硬扛四小时。周组长中途离席去接电话,回来时手里的保温杯盖子没拧紧,一滴水顺着不锈钢杯身滑到桌上,积成小洼,反光映出他电脑右下角——Windows任务栏时间:2024-01-01 13:59。跨年那天,我在帮甲方找udev rule里的十六进制数错在哪位。


  他们有个实习生,黑眼圈浓得像国宝,坐我旁边递网线。我随口问:“这项目谁定的技术栈?”他愣了一下,说:“周组长说‘华为官网写的啥我们就用啥’,我就去抄的DevEco文档。”我翻他屏幕上开着的网页——是2022年8月的旧版安装指南,连OpenHarmony 3.2的说明里都没提HDC_SERVER_PORT必须设为19191,默认会撞上Nginx端口。他问我:“老师,这算我学得不认真吗?”我说:“不算。算你们没配专职Ops。”他点点头,默默把那页Chrome标签页关了。我看着他关掉的瞬间,浏览器历史里还有六个标签:淘宝卖家后台、知乎“鸿蒙调试失败怎么办”、B站一个叫《三分钟搞定HDC》的视频(播放量21,发布时间2023-02-14)、京东搜“USB3.0集线器 延长线”,以及两个空白标签页——一个是新建的,另一个,地址栏写着 file:///dev/null。


  尾款拖了两个月。上周财务催我报开票信息,我说“还没结”。财务嗯一声,继续敲键盘。没问原因。大家都懂。


  下回合同里这条必须写死:“调试环境交付标准=运行hdc list_targets返回至少一个online设备,且该设备可被devtools远程连接”。不是截图,是录屏。不是口头确认,是签名回执单——带日期戳,用他们的公章,不是PPT里画的章。


  对了,周组长昨天微信发来一张图,是他们内部群里截图,他发言:“上次调试问题已解决!感谢XX公司配合!”底下有人回:“所以到底是改了哪儿?”他回:“udev和环境变量。”再没人说话。那盘水果还在桌上,这次换成了橙子,切得整整齐齐,果肉饱满,没人吃。

(编辑:站长网)

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