问题现象
DevEco Studio版本更新无法正常使用,原因有哪些?
背景知识
DevEco Studio不支持自更新,需要开发者前往官网链接下载最新版本安装。
问题定位
- DevEco Studio版本更新无法正常使用,可能有多种现象和原因,汇总如下:
问题现象 | 问题原因 |
项目无法正常启动,提示hvigor没能同步 | hvigor相关配置文件未更新 |
项目运行失败,报错“A page configured in 'test_pages.json' must have one and only one '@Entry' decorator” | 新版本默认路径文件夹名变更 |
执行测试任务失败 | 新版本测试框架版本与原工程不匹配 |
DevEco Studio无法正常启动 | 旧版本缓存文件未清理 |
- 场景一:项目无法正常启动,提示hvigor没能同步。
报错如下图:

根据报错信息可知:问题原因是当前hvigor的开发态配置版本与IDE能支持的开发态配置版本不匹配。
- 场景二:项目运行失败,报错“A page configured in 'test_pages.json' must have one and only one '@Entry' decorator”。
报错信息:A page configured in 'test_pages.json' must have one and only one '@Entry' decorator。

根据报错信息可知:问题原因是配置在test_pages.json里的页面必须有且只能有一个'@Entry'装饰器。
- 场景三:执行测试任务失败。
问题现象:升级DevEco Studio后,打开先前创建的工程并执行测试框架任务时遇到失败。
常见原因:由于新版本测试框架版本与原工程不匹配,直接使用原工程会失败。
- 场景四:DevEco Studio无法正常启动。
问题现象:升级DevEco Studio后,DevEco Studio无法正常启动。
常见原因:旧版本缓存文件未清理导致启动失败。
分析结论
- 场景一:当前hvigor的开发态配置版本与IDE能支持的开发态配置版本不匹配。
- 场景二:配置在test_pages.json里的页面必须有且只能有一个'@Entry'装饰器。
- 场景三:新版本测试框架版本与原工程不匹配。
- 场景四:旧版本缓存文件未清理。
修改建议
- 场景一:提供如下两种方案,推荐使用第一种方案。
- 运行前检查:在DevEco Studio中通过“Help -> Check for Updates”来检查更新,确保使用的DevEco Studio和SDK是最新版本,避免一些已知的兼容性问题。检查项目的build-profile.json5文件中的compileSdkVersion和compatibleSdkVersion字段,确保设置正确并且相互兼容,视情况进行修改。参考官方文档,确认DevEco Studio版本与API版本是否匹配。
- 新建一个项目,把新项目的build-profile.json5、module.json5、hvigor-config.json5复制进旧项目,通过打包使用正确配置文件解决问题。
- 场景二:将TestRunner、TestAbility目录改为小写testrunner、testability,再次运行测试用例。参考文档。
- 场景三:使用升级后的DevEco Studio创建新工程,迁移原有测试任务。
升级原工程,具体包括以下步骤:
- 升级hypium插件版本:在工程级oh-package.json5中,将hypium升级至最新版本。
- 替换OpenHarmonyTestRunner入口文件:新建工程,将src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ets文件替换原工程的该文件。
- 修正错误:替换完上述文件后,根据错误提示修改细节。
- 场景四:清理缓存文件后,重启DevEco Studio。
缓存文件位置如下:
- MAC的缓存路径为:~/Library/Caches/Huawei/和~/Library/Application Support/Huawei/。
- Windows的缓存路径为:C:/Users/<用户名>/AppData/Local/Huawei/。