HarmonyOS鸿蒙Next中flutter启动报错

HarmonyOS鸿蒙Next中flutter启动报错 用VSCode启动模拟器报错

hvigor ERROR: AdaptorError 00303231 Configuration Error

Error Message: The srcPath is not a relative path: C:/Users/issuser/AppData/Local/Pub/Cache/git/flutter_packages-2804fe116ffd69ef62519e50b6cbb2a4c647ca16/packages/image_picker/image_picker_ohos/ohos

Try the following:

Make sure the srcPath in the hvigorconfig.ts file of the project is a relative path.

  • Try:

Run with --stacktrace option to get the stack trace.

Run with --debug option to get more log output.

hvigor ERROR: BUILD FAILED in 3 s 403 ms

ProcessException: The command failed with exit code 1

Command: hvigorw assembleHap -p product=default -p buildMode=debug --no-daemon -p FLUTTER_TARGET=E:\工作\lib\main.dart -p TARGET_PLATFORM=ohos-x64 -p DART_DEFINES=RkxVVFRFUl9XRUJfQ0FOVkFTS0lUX1VSTD1odHRwczovL3d3dy5nc3RhdGljLmNvbS9mbHV0dGVyLWNhbnZhc2tpdC9mNjM0NGI3NWRjZjg2MWQ4YmYxZjEzMjI3ODBiODgxMWY5ODJlMzFhLw== -p DART_OBFUSCATION=false -p TRACK_WIDGET_CREATION=true -p TREE_SHAKE_ICONS=false -p PACKAGE_CONFIG=E:\工作.dart_tool\package_config.json


更多关于HarmonyOS鸿蒙Next中flutter启动报错的实战教程也可以访问 https://www.itying.com/category-92-b0.html

3 回复

解决这个问题,你可以按照以下步骤操作:

  1. 检查路径:确保路径是相对路径,例如将 C:\Users\jssuser\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\image_picker_ohoos\ohos\lib\src 修改为相对路径。

  2. 使用绝对路径:如果需要使用绝对路径,确保路径格式正确,并且路径中的特殊字符(如空格)被正确转义或使用双引号括起来。

  3. 清理缓存:删除 Flutter 的缓存,运行 flutter clean 命令,然后重新运行项目。

  4. 检查依赖:确保所有依赖项都已正确安装,并且版本兼容。

更多关于HarmonyOS鸿蒙Next中flutter启动报错的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在HarmonyOS Next中,Flutter启动报错通常与平台适配有关。主要原因是Flutter引擎尚未完全兼容HarmonyOS Next的底层架构,导致初始化失败。常见错误包括原生接口调用异常、渲染管线不匹配或系统API变更。需要检查Flutter版本是否支持HarmonyOS,并确认相关插件已适配新系统。

这个错误是由于Flutter插件image_picker的HarmonyOS适配版本(image_picker_ohos)在hvigorconfig.ts文件中配置的srcPath使用了绝对路径导致的。在HarmonyOS Next的构建系统中,srcPath必须使用相对路径。

解决方案:

  1. 定位问题文件:找到Flutter插件image_picker的HarmonyOS适配模块的hvigorconfig.ts文件。根据错误信息,路径通常在: C:/Users/你的用户名/AppData/Local/Pub/Cache/git/flutter_packages-<一串哈希>/packages/image_picker/image_picker_ohos/ohos

  2. 修改配置:打开该目录下的hvigorconfig.ts文件,找到srcPath配置项。它当前可能类似:

    srcPath: 'C:/Users/issuser/AppData/Local/Pub/Cache/git/flutter_packages-.../packages/image_picker/image_picker_ohos/ohos'
    

    将其修改为相对路径(相对于hvigorconfig.ts文件所在目录)。通常只需保留ohos目录本身或更简短的相对路径,例如:

    srcPath: './'  // 或 'ohos',具体取决于文件结构
    

    或直接指向源码目录:

    srcPath: 'src/main/ets'
    
  3. 清理并重新构建:修改后,在项目根目录执行以下命令清理缓存并重新构建:

    hvigorw clean
    hvigorw assembleHap
    

根本原因:该Flutter插件的HarmonyOS适配版本在生成hvigorconfig.ts时,错误地将绝对路径写入了配置。这属于插件适配的缺陷。

临时替代方案:如果修改插件源码不便,可考虑暂时移除image_picker插件,或等待插件更新修复此问题。

回到顶部