flutter 鸿蒙 如何使用 flutter 插件?
在软件开发过程中,经常会引入一些插件。实现一些 固定的基础功能。比如 flutter插件市场为我们提供了很多插件。flutter 鸿蒙也是类似的 为我们提供了兼容 flutter 鸿蒙的插件。
flutter 插件 主要分为两种:
- 不依赖平台特性,纯dart 开发。 这种插件是完全兼容 所有平台 包括鸿蒙系统。
- 依赖 平台特性,依赖原生环境。这种插件需要针对不同 系统 做特定开发。
1.1 如何区分插件是否全平台支持
我们以 qr_flutter 插件举例:
- 插件本身支持全平台, 特别是 web 平台。
flutter 鸿蒙插件在使用的时候遇到的问题:
2.1:纯dart 插件不能引入
我们以 qr_flutter 插件举例:
我的 vscode 中 flutter pub get 始终不能 引入插件,后来切换到 Android Studio IED 则可以引入
2.2:兼容插件引入
兼容性插件引入和 纯 dart 插件引入方式一样:而且每个兼容性插件的引入方式都不太一样 具体需要到插件 主页查看方式
pubspec.yaml
#纯 dart 插件的引入方式: # 二维码生成 qr_flutter: 4.1.0 intl: ^0.19.0 #兼容插件的引入方式: image_gallery_saver: git: url: "https://gitcode.com/openharmony-sig/flutter_image_gallery_saver.git" permission_handler: git: url: "https://gitcode.com/openharmony-sig/flutter_permission_handler.git" path: "permission_handler" fluttertoast: ^8.2.2 path_provider: git: url: "https://gitcode.com/openharmony-tpc/flutter_packages.git" path: "packages/path_provider/path_provider"
2.3 关于兼容插件在引入方式可以在 flutter_packages 查看
比如:image_gallery_saver 插件
然后找到 它的地址:上面就有介绍
2.4 跨磁盘报错:
Error: 00618008 Cross Driver Error
Error Message: The source code dependency "fluttertoast@C:\Users\Administrator\AppData\Local\Pub\Cache\git\flutter_fluttertoast-f0f27fd2c187e16cff0743a9429ee2ddadb4e71c\ohos" is not in the same file system as the current project
这个坑我是第一次遇到:也是神器 我把项目直接剪切到 c 盘。竟然就好了!。整了这么长时间软件 第一次遇到这种问题。