flutter 鸿蒙 插件填坑

flutter 鸿蒙 如何使用 flutter 插件?

在软件开发过程中,经常会引入一些插件。实现一些 固定的基础功能。比如 flutter插件市场为我们提供了很多插件。flutter 鸿蒙也是类似的  为我们提供了兼容 flutter 鸿蒙的插件

 flutter 插件 主要分为两种:

  1. 不依赖平台特性,纯dart 开发。 这种插件是完全兼容 所有平台 包括鸿蒙系统。
  2. 依赖 平台特性,依赖原生环境。这种插件需要针对不同 系统 做特定开发。

前面这篇文章 介绍了 flutter 鸿蒙项目创建到上线整个流程https://blog.csdn.net/nicepainkiller/article/details/150390063?spm=1001.2014.3001.5501

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 盘。竟然就好了!。整了这么长时间软件 第一次遇到这种问题。

基本遇到的坑就这些。后面再遇到 会在这里更新

### 鸿蒙系统上开发 Flutter 项目的概述 鸿蒙系统(HarmonyOS)是华为推出的一款分布式操作系统,旨在支持多种设备和平台。Flutter 是一个跨平台的 UI 框架,允许开发者使用 Dart 编程语言构建高性能的应用程序。尽管 Flutter 官方尚未完全支持 HarmonyOS,但开发者可以通过一些第三方工具和资源实现兼容性[^1]。 #### 兼容性分析 在 HarmonyOS 上运行 Flutter 应用需要解决以下关键问题: - **平台支持**:Flutter 的核心架构依赖于 Android 和 iOS 的原生功能,因此需要额外的适配层来支持 HarmonyOS。 - **API 调用**:HarmonyOS 提供了独特的 API 集合,可能与 Flutter 的现有插件不兼容。开发者需要创建或寻找已有的鸿蒙专用插件[^2]。 - **编译工具链**:需要确保 Flutter 项目能够通过 DevEco Studio 或其他工具链进行编译和部署。 #### 开发环境搭建 为了在鸿蒙系统上开发 Flutter 项目,可以参考以下步骤: 1. **安装必要的开发工具**:DevEco Studio 是华为提供的官方 IDE,支持 HarmonyOS 应用的开发[^3]。虽然它目前没有直接支持 Flutter 的选项,但可以通过配置自定义工具链实现兼容。 2. **配置 Flutter 环境**:确保本地安装了最新版本的 Flutter SDK,并将其与鸿蒙开发环境集成。这可能需要手动调整项目的 `build.gradle` 文件以适应鸿蒙的构建需求[^4]。 ```gradle android { defaultConfig { // 添加鸿蒙相关的配置 ndk { abiFilters 'armeabi-v7a', 'arm64-v8a' } } } ``` 3. **使用鸿蒙专用插件**:许多常见的 Flutter 插件可能无法直接在 HarmonyOS 上工作。开发者需要寻找或开发专门针对 HarmonyOS 的插件。例如,`huawei_map` 插件提供了地图功能的支持[^5]。 #### 示例代码 以下是一个简单的 Flutter 项目示例,展示了如何在鸿蒙系统上初始化应用: ```dart import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'HarmonyOS App', theme: ThemeData( primarySwatch: Colors.blue, ), home: MyHomePage(title: 'Flutter on HarmonyOS'), ); } } class MyHomePage extends StatefulWidget { MyHomePage({Key? key, required this.title}) : super(key: key); final String title; @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { int _counter = 0; void _incrementCounter() { setState(() { _counter++; }); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(widget.title), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ Text( 'You have pushed the button this many times:', ), Text( '$_counter', style: Theme.of(context).textTheme.headline4, ), ], ), ), floatingActionButton: FloatingActionButton( onPressed: _incrementCounter, tooltip: 'Increment', child: Icon(Icons.add), ), ); } } ``` #### 教程和资源推荐 - **官方文档**:华为提供了详细的 HarmonyOS 开发文档,虽然主要面向原生开发,但也为跨平台开发者提供了基础指导[^6]。 - **社区支持**:GitHub 和 Stack Overflow 上有许多开发者分享了他们在鸿蒙系统上使用 Flutter 的经验。搜索关键词如“Flutter HarmonyOS”可以找到相关项目和解决方案[^7]。 - **第三方教程**:一些技术博客和 YouTube 频道也发布了关于如何将 Flutter 应用移植到 HarmonyOS 的教程[^8]。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nicepainkiller

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值