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

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

发布时间:2026-11-02 14:36:03 所属栏目:Unix 来源:DaWei
导读:  “鸿蒙Unix调试失败”那期选题会,我当场把保温杯放桌上没拧盖,水蒸了半杯——主编说“读者要解决方案”,我说“他们连devtool路径都拼不对”,他抬手按住PPT翻页笔,咔一声卡死在第4页。那页写着“鸿蒙ArkTS+Linux子系统

  “鸿蒙Unix调试失败”那期选题会,我当场把保温杯放桌上没拧盖,水蒸了半杯——主编说“读者要解决方案”,我说“他们连devtool路径都拼不对”,他抬手按住PPT翻页笔,咔一声卡死在第4页。那页写着“鸿蒙ArkTS+Linux子系统联调指南”,下面小字还标着“适配OpenHarmony 4.1+”。我原以为是环境变量问题,结果查到凌晨两点,发现是ohpm init生成的.yarnrc.yml里proxy字段多塞了个斜杠,/http:// → //http://,就这一个字符,nm start全跪。


  键盘上F5那个键磨白了,我自己换过两次键帽,还是白。上周三老张过来顺走我抽屉里最后一包茉莉花茶,说他那边编译卡在ld.lld找不到libclang_rt.builtins-x86_64.a,我随口问一句“你装的是ohos-ndk还是ndk-lite”,他愣了两秒反问我:“lite?lite还有单独包?”——我说有啊,你用的SDK根目录下就有sdk/ndk/lite这个软链,他扭头回去改配置,五分钟后微信弹一条:“哎?成了。”群里一直在弹消息,@全体成员那种,但没人回,就李薇发了个“收到”,后面跟三个句号……


  第二个坑是WSL2里systemd没开。官方文档写得含糊,只说“建议启用systemd”,没说不启就挂掉dev-server热更新——因为hdc服务依赖dbus.socket,dbus.socket又依赖systemd,而WSL2默认关systemd。我敢打包票:你run hdc list targets返回空,不是端口占用了,是你根本没systemd进程在跑。查的时候顺手敲ps aux | grep dbus,没输出?恭喜,你在用阉割版WSL2。我试过sudo service dbus start,它回你“service command not found”,不是它坏,是你压根没systemd。这个我说不准具体哪个Win11补丁开始强制require systemd,反正今年二季度之后新装机,基本都中招。


  显示器边贴的排期表翘了角,翘得特别倔,胶带早掉了,我就拿订书钉别着。上个月王工提需求说要补个“DevEco Studio远程调试实录”专题,我们拉了三版脚本,最后全毙了——因为客户临时加一条:必须在macOS上跑通Unix调试路径。结果那天我搭好VMware里的Ubuntu镜像,ssh进去一敲hdc shell,它回我“error: connect failed: Connection refused”,我以为网络问题,翻防火墙规则、改/etc/hosts、甚至重装hdc,折腾俩钟头才发现,DevEco Studio本地配置里有个勾选项叫“Enable ADB over network”,默认关,但它不开,hdc就连不上模拟器进程……就这玩意儿藏在Settings→Editor→General→Console底下第三层折叠菜单里。改标题的动作我写了三步:先删掉“鸿蒙Unix调试失败?”这个问号,换成冒号;再把“90%卡在这3个隐蔽配置”缩成“90%卡在三个冒号后的位置”,最后又改回来——主编说流量词不能动,我说动了也发不出去,因为稿池里已有七篇同质化标题,这篇排不到头条位。


文章配图,仅供参考

  窗外在打桩。咚、咚、咚,间隔精准,像服务器健康检查心跳包。前天夜里突然停了仨小时,我以为故障,结果物业群发消息说“施工方换钻头”,真服。外卖到了半天没人拿,塑料袋挂在门把手上晃,油渍从袋底渗出来,在门框上拖出一道黄线。我撕开袋子时听见隔壁编辑在讲电话:“……对,伪原创那篇我们加了‘独家复现’前缀,但用户搜‘鸿蒙调试’第一屏全是洗稿号……”


  第三个坑最冤:OHOS SDK安装目录里自带的那个shell脚本ohos.sh,它硬编码了PATH里$HOME/.ohos/bin优先于/usr/local/bin。而如果你自己brew装过旧版hdc(比如v3.1.1),它的hdc会比SDK里v4.2.0的hdc先被调用。你run hdc version显示3.1.1,还以为版本低,狂卸载重装SDK,其实只要export PATH="/home/xxx/DevEcoStudio/sdk/ohos/toolchains/hdc:$PATH"就行。但我试了七次才敢确定顺序问题——第七次是在root账户下直接改/etc/environment,全局生效了,可普通用户session里还是不行。冷眼看着那个PATH变量在terminal里飘来飘去,像条没系牢的船绳。


  李薇昨天交初稿说“已复现全部失败路径并截图”,她截了六张图,其中一张右下角露出她MacBook贴的“勿动我F5”便签纸。王工后来补了个备注:他那台M2 Mac跑不了Linux子系统调试,不是系统问题,是DevEco Studio官方根本不认Apple Silicon上的WSL等效层——这个信息我今天早上刚在GitHub issue#12978里确认,commit hash是a7f4b3c,作者ID是openharmony-ci-bot。我没往上填,因为选题表里这条已经标红“暂缓”,主编说客户要求“必须覆盖M系列芯片用户”,可官方都没支棱起来,我们写个锤子的“兼容方案”。


  我原以为能靠重装ohpm解决所有问题,结果发现yarn global add @ohos/hdc-cli和SDK自带hdc命令行根本不共存——它们读取的插件注册表冲突,报错日志里混着中文和俄文乱码(估计某次npm i -g的时候镜像源切错了)。这个我说不准是哪个依赖包引入的,只知道删掉~/.ohpm/cache和~/.yarn/global/node_modules/@ohos之后,重启终端,再执行ohpm install --global @ohos/hdc-cli才稳住。可这法子不能写进文档,因为下个月SDK可能就废掉ohpm这套工具链。


  主编与考核。上季度我漏报了两篇“开发环境踩坑类”稿件的点击数据,系统后台的字数统计一直在跳,从8920跳到8921又弹回8920,可能是缓存没刷干净。谁在旁边泡咖啡,焦糖玛奇朵,奶泡堆得特别高,上面撒了肉桂粉,风一吹就散了。我盯着那堆粉想,咱们是不是也这样?表面是个完整方案,底下全是飘着的颗粒。


  下一步?先把devtool.json里的--unix-debug-port字段注释掉,换hdc -s 127.0.0.1:5037 shell手动进设备看log。别的,先不碰。实在不行,就告诉用户:别调Unix,调Windows Subsystem for Android,至少ADB那一套是熟的。我认它,是因为上个月我亲眼见客户技术负责人把DevEco Studio关了,打开VS Code装了个ohos插件,用纯Node.js脚本绕开所有GUI层——他连“开发者选项”都没开,全靠hdc + expect + sed管道流处理。那脚本我存本地了,但没放进稿件池。

(编辑:站长网)

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