当前位置: 首页 > article >正文

鸿蒙Flutter实战:16-无痛开发指南(适合新手)

本文讲述如何通过 Flutter 开发鸿蒙原生应用。整个过程结合往期文章、实战经验、流程优化,体验丝滑、无痛。

无痛搭建开发环境

为了减少疼痛,这里使用全局唯一的 Flutter 版本开发。高阶用法可以参看往期同系列文章。

硬件准备

一台 Mac,一部 Mate60 Pro,两台显示器。

鸿蒙 Flutter SDK 开发人员爱用 Mac,使用相同设备(优先选择 Arm 版 Mac,X86 也可以,系统不要太老)无忧。

审核人员爱用 Mate60 系列,选择同款无忧。

显示器两台,左侧放别人的代码,右侧是自己的,方便参考(复制粘贴)。

环境准备

下载 DeEco

进入华为开发者联盟网站,https://developer.huawei.com/consumer/cn/download/,根据电脑机型点击下载。

下载 Flutter SDK

# 创建目录 ~/.fvm/versions
mkdir -p ~/.fvm/versions

# 克隆 Flutter SDK
git clone https://gitee.com/harmonycommando_flutter/flutter.git custom_3.22.0

配置环境变量

打开 ~/.bash_profile,增加以下内容

# Flutter Mirror
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

# HarmonyOS SDK
export TOOL_HOME=/Applications/DevEco-Studio.app/Contents/
export DEVECO_SDK_HOME=$TOOL_HOME/sdk # command-line-tools/sdk
export PATH=$TOOL_HOME/tools/ohpm/bin:$PATH # command-line-tools/ohpm/bin
export PATH=$TOOL_HOME/tools/hvigor/bin:$PATH # command-line-tools/hvigor/bin
export PATH=$TOOL_HOME/tools/node/bin:$PATH # command-line-tools/tool/node/bin

export PATH="~/.fvm/versions/custom_3.22.0/bin:$PATH"

配置完成以后,关闭命令行工具,并重新打开,使之生效。使用 flutter doctor 命令查看是否有 3.22.0-ohos 字样。

创建项目

使用以下命令创建项目

flutter create --platforms ohos .

配置自动签名

使用 Deveco 打开项目,Mate60 Pro 手机连上电脑(必须)。

打开 File -> Project Structure -> Signing Configs 勾选 Automatically generate signature

点击 Apply 应用,OK 完成签名。此时可关闭 DevEco。

请添加图片描述

运行项目

  1. 使用 Flutter run 命令,或者在 IDE 中,点击运行按钮
# 查看设备编号
futter devices

出现以下类似输出

  Found 3 connected devices:
  FMR0224904009635 (mobile) • FMR0224904009635 • ohos-arm64     • Ohos OpenHarmony-5.0.1.115 (API 13)
  macOS (desktop)           • macos            • darwin-x64     • macOS 14.6.1 23G93 darwin-x64
  Chrome (web)              • chrome           • web-javascript • Google Chrome 131.0.6778.108

找到鸿蒙设备的 ID,如上所示为 FMR0224904009635。

# 运行
flutter run -d FMR0224904009635
  1. 在 IDE 中,点击运行按钮,以下是 VsCode 中的入口

确保安装了 Code Runner 插件
请添加图片描述

参考资料

  • 鸿蒙Flutter实战:01-搭建开发环境
  • 鸿蒙Flutter实战:02-Windows环境搭建踩坑指南
  • 鸿蒙Flutter实战:11-使用FlutterSDK3.22.0
  • 鸿蒙Flutter实战:12-使用模拟器开发调试
  • 鸿蒙Flutter实战:13-鸿蒙应用打包上架流程
  • 鸿蒙Flutter实战:14-现有Flutter项目支持鸿蒙II

http://www.kler.cn/a/507709.html

相关文章:

  • 03JavaWeb——Ajax-Vue-Element(项目实战)
  • Spring Boot 实战篇(四):实现用户登录与注册功能
  • 如何异地远程访问本地部署的Web-Check实现团队远程检测与维护本地站点
  • 软件授权管理中的软件激活向导示例
  • ThreeJs能力演示——图层导入导出
  • 【WPS】【WORDEXCEL】【VB】实现微软WORD自动更正的效果
  • ios文件管理,沙盒机制以及如何操作“文件”APP,把文件共享到文件app
  • Golang Gin系列-2:搭建Gin 框架环境
  • Word2Vec中的CBOW模型训练原理详细解析
  • (2)Elasticsearch8.17的web管理工具:kibana
  • Vue3 Element-Plus el-tree 右键菜单组件
  • 案例 —— 怪物出水
  • 【绝对无坑】Mongodb获取集合的字段以及数据类型信息
  • 没有正确使用HTTP Range Request,导致访问Azure Blob存储的视频没有实现流式播放
  • AI生成文档——Uni-App CSS 样式开发指南
  • JS宏实例:自创FS对象读取文本文件或CSV文件数据
  • 一、1-2 5G-A通感融合基站产品及开通
  • HarmonyOS NEXT应用开发边学边玩系列:从零实现一影视APP (五、电影详情页的设计实现)
  • CTE与临时表:优劣势对比及使用场景分析
  • 简明docker快速入门并实践方法
  • 代码随想录算法训练营day23(0116)
  • 纯代码实现给WordPress添加文章复制功能
  • C#实现字符串反转的4种方法
  • openharmony/build/README_zh.md学习
  • 查找某个年龄段的用户信息TCP头格式为什么需要 TCP 协议? TCP 工作在哪一层?
  • Spring Boot 条件注解:@ConditionalOnProperty 完全解析