Flutter中如何使用webview和flutter_echarts in HarmonyOS 鸿蒙Next
Flutter中如何使用webview和flutter_echarts in HarmonyOS 鸿蒙Next Because flutter_echarts 2.5.0 depends on webview_flutter from hosted and nft_once depends on webview_flutter from git, flutter_echarts 2.5.0 is forbidden.
So, because nft_once depends on flutter_echarts 2.5.0, version solving failed.
提示这个,因为webview是这git下载的

所以导致不兼容,目前官方支持flutter_echarts吗
flutter版本3.22
更多关于Flutter中如何使用webview和flutter_echarts in HarmonyOS 鸿蒙Next的实战教程也可以访问 https://www.itying.com/category-92-b0.html
【解决方案】
版本冲突问题:
- 多个三方库公共依赖的其他库版本引入方式不一致:
- 原因:flutter_echarts依赖的webview_flutter是中心仓的库,但是nft_once依赖的webview_flutter是Git引入的依赖,导致的版本不一致。
- 解决方案:覆盖依赖的方式引入webview_flutter即可。
dependency_overrides:
webview_flutter:
git:
url: "https://gitcode.com/openharmony-tpc/flutter_packages.git"
path: "packages/webview_flutter/webview_flutter"
更多关于Flutter中如何使用webview和flutter_echarts in HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在鸿蒙Next中使用Flutter的webview和flutter_echarts,需通过ArkUI的Web组件与Flutter侧桥接。flutter_echarts本身基于WebView实现,在鸿蒙上需将Web组件封装为Flutter插件供Dart层调用,或直接使用鸿蒙Web组件加载ECharts的HTML/JS资源。目前Flutter for HarmonyOS尚在演进中,官方未提供正式适配方案,需关注OpenHarmony社区或Flutter鸿蒙适配进展获取具体实现。
这是一个典型的Flutter依赖冲突问题,与HarmonyOS Next本身没有直接关系。问题核心在于你的两个依赖包(flutter_echarts 和 nft_once)对同一个包 webview_flutter 指定了不同的来源。
问题分析:
flutter_echarts: 2.5.0依赖来自 pub.dev 官方仓库的webview_flutter。nft_once依赖来自 Git 仓库的webview_flutter。- Flutter的包管理器不允许同一个包存在两个不同的来源,因此导致版本解析失败。
解决方案:
方案一:统一 webview_flutter 来源(推荐)
这是最直接的解决方法。你需要检查 nft_once 的 pubspec.yaml 文件,看它为何指定了Git来源。通常是因为需要某个特定提交或分支的修复。你可以尝试:
- 在
nft_once的pubspec.yaml中,将webview_flutter的依赖来源从git:改为标准的版本号(如^4.0.0),前提是该版本能满足nft_once的功能需求。 - 如果
nft_once是你自己的包或可以修改,直接修改其依赖声明。 - 如果
nft_once是第三方包,你可以考虑 fork 其仓库,修改依赖后使用你的 Git 分支。
方案二:使用依赖覆盖
在你的主项目的 pubspec.yaml 文件中,使用 dependency_overrides 强制所有依赖使用同一个来源的 webview_flutter。
dependency_overrides:
webview_flutter:
# 选择一个来源,通常选择 pub.dev 的稳定版
# 如果 nft_once 必须使用 git 版本,且 flutter_echarts 也能兼容,则覆盖为 git 版本
version: ^4.0.0 # 或具体的 git 地址
注意:覆盖依赖可能导致某些包因版本不兼容而运行异常,需要充分测试。
方案三:寻找替代包或更新版本
- 检查是否有更新版本的
flutter_echarts或nft_once已经解决了这个依赖冲突。 - 如果
nft_once不是核心功能,考虑寻找其他不依赖特定webview_flutter来源的包替代。
关于HarmonyOS Next的官方支持:
目前,flutter_echarts 和 webview_flutter 都是Flutter生态的第三方插件。它们在HarmonyOS Next上的兼容性取决于:
- Flutter for HarmonyOS Next 框架本身对 Flutter 插件机制的实现是否完整。
- 插件是否调用了需要鸿蒙特定适配的底层 API(如
webview_flutter涉及原生Web视图)。
在纯Flutter兼容层下,如果插件使用的是纯Dart代码或通过标准Flutter插件通道与系统交互,通常可以运行。但涉及原生视图(如WebView)的插件,其性能、功能和在HarmonyOS Next上的稳定性,需要在实际的HarmonyOS Next开发环境或设备上进行验证。
总结步骤:
- 首要任务是解决Flutter层的依赖冲突,使用上述方案一或二。
- 在Flutter层问题解决后,再在HarmonyOS Next工程中集成、编译并运行,观察
flutter_echarts和webview_flutter的功能是否正常。 - 目前没有官方公告明确指出对
flutter_echarts的专门支持,其可用性属于“社区插件在鸿蒙上的兼容性”范畴,需开发者自行验证。

