当前位置:首页>鸿蒙APP>我试了3天鸿蒙开发,踩了这些坑——换你也一样

我试了3天鸿蒙开发,踩了这些坑——换你也一样

  • 2026-10-27 10:54:24
我试了3天鸿蒙开发,踩了这些坑——换你也一样
“黄sir,我之前是做安卓开发的,想往鸿蒙方向发展,难度应该不大吧?应该学的很快吧?”
这是最近一个线上粉丝跟我咨询的问题,也是很多同学经常问的,我学的某某语言,做的某方向,学这个鸿蒙到底是难还是容易?通常我是让他们直接装DevEco Studio,自己跑一跑代码,试一试。
但通常他们都是跑不起来,感觉不对劲。不是他们笨,是没人告诉他们这些坑。
今天这篇,黄sir系统梳理了新手最容易踩的几个坑,不管你是安卓转鸿蒙,还是前端转鸿蒙,还是纯新手,都建议认真看完。

坑一:第一步就走错了,SDK版本搞错,写了半天代码全作废。

很多人跟着网上的教程写代码,结果复制进去就报错。不是代码错了,是教程的SDK版本跟你不一样。

鸿蒙从API 5到API 12,每个版本的语法差异极大。有些API 9写法在API 5根本不存在,有些API 5的写法到API 9已经废弃。

黄sir见过最心酸的:学员跟着视频敲了两周代码,结果发现视频是API 5,他装的是API 9,报错一堆解不掉,最后重装了整个环境。

✅ 黄sir建议

在 DevEco Studio → Tools → SDK Manager 里先确认你的SDK版本,然后只看这个版本对应的官方文档。

坑二:以为ArkTS就是TypeScript,JS/TS程序员最容易掉进这个坑。

ArkTS确实是TypeScript的超集,但有一个本质区别:它是用来描述UI和状态的,不是拿来写业务逻辑的那套思维。

你习惯的那套:

不加 @State,变量怎么改UI都不动——这是90%前端新手第一周的困惑。

记住一句话:在ArkTS里,你改的是状态,UI是自动响应的。不是你手动操作DOM,是你声明数据,UI自己跟着变。

坑三:路由跳转搞不定,写完登录页,不知道怎么跳转主页。

这是黄sir被问频率最高的问题之一。

鸿蒙的路由不是你随便写个页面路径就能跳的,它有两个配置你必须做:

// 第一步:在 main_pages.json 里声明页面{  "src": [    "pages/Index",    "pages/Login",    "pages/Home"  ]}
// 第二步:跳转的时候这样写import router from '@ohos.router'router.pushUrl({ url: 'pages/Home' })

常见错误是页面路径写成了大小写不匹配,或者少了在 main_pages.json 里注册——这两个占了路由报错的80%。     

坑四:@State只改了对象里的属性,UI不更新,这个坑黄sir的学员几乎全踩过。

你定义了一个对象,改了里面的属性,UI没反应。

原因:@State 监听的是对象的引用,不是对象内部属性的变化。直接改属性不会触发重新渲染,必须重新赋值整个对象。

坑五:模拟器跑不起来,绕晕了。装上DevEco Studio,模拟器半天出不来。

黄sir见过太多同学,DevEco Studio装好了,模拟器死活跑不起来,要么卡在启动界面,要么根本不出画面。

几个排查顺序:

① 先确认电脑有没有开启虚拟化(BIOS里开 VT-x 或 AMD-V)

② 检查 HDC 是否正常连接(设备管理器里看)

③ 模拟器版本和SDK版本要对上,不能乱配

④ 实在搞不定,先用真机调试,反而更顺

学员真机调试成功率比模拟器高很多,鸿蒙手机开「开发者模式」直接用数据线连就能跑,比等模拟器启动省事多了。    

这五个坑,黄sir的学员加起来浪费了不知道多少小时。

你现在知道了,别再掉进去。

扔给你一个问题

不同背景踩的坑不一样,你告诉黄sir你是哪种,黄sir下一篇专门针对这种情况写。

END

黄sir会持续更新程序员真实故事和职业思考

如果你觉得有用,转发给身边的朋友

愿我们都能在年轻时少走弯路

▼
关注黄sir,不迷路
▼

点它,分享点赞在看都在这里

最新文章

随机文章