Flutter项目编译到鸿蒙后,发现有很多问题, 其中一个就是
cached_network_image
这个好用的第三方库,不显示图片了。 这个是完全使用dart代码实现的,跟Native没有交互,按道理说,不应该不支持。
然后就开始查看 cached_network_image 的源代码, 然后发现它是依赖 flutter_cache_manager 的;
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
一看,flutter_cache_manager 也是纯dart代码啊, 再去查看它的源代码后,发现,它依赖
import 'package:path_provider/path_provider.dart';
然后,就再去找 path_provider 这个库 ,就发现了以下的东西:
这很明显,path_provider 是需要Native来提供支持的,这里明显缺少 ohos 平台的 path_provider 库,
进入这里 openharmony-sig/flutter_packages 去查看有没有,
感谢这位大佬吧,已经做了适配,然后就把 path_provider 导入带有鸿蒙版本的代码。
dependency_overrides:
path_provider:
git:
url: "https://gitee.com/openharmony-sig/flutter_packages.git"
path: "packages/path_provider/path_provider"
因为,flutter_cache_manager 已经依赖了path_provider ,这里我们如果要加入带有鸿蒙版本的库,需要加 dependency_overrides 来覆盖已经被依赖的库。
经过以上步骤,就解决了图片不加载的问题。