建立代码仓库

在完成 Day 1 的工具链与环境打通 之后,Day 2 我选择先建立一个独立的练手仓库,而不是直接在 flutter-oh 源码仓库里继续折腾。原因很简单:
• flutter_flutter 是上游工程,不适合直接承载应用代码
• 独立仓库更便于后续插件适配 / Demo 示例 / 开源提交

创建项目仓库

使用的是新的 git 平台,界面 非常 友好,比 某hub、某lab 更新人友好。
GitCode创建项目仓库
创建仓库时,我做了两个选择:

  • gitignore 模板:选择 Dart
    gitignore 本质是一个纯文本文件,用于告诉 Git 哪些文件或目录不应纳入版本控制,例如:
    • 编译产物
    • 缓存文件
    • 本地配置
      (虽然我并没有系统研究过 Dart 的模板规则,但在 Flutter 项目场景下直接选 Dart 是一个安全且省心的选择)
  • LICENSE 文件:选择 Apache License 2.0
    这是一个相对宽松的开源协议,同时:
    • 明确包含 专利授权条款
    • 禁止未经许可的商标使用
      非常适合作为个人学习 + 潜在开源贡献的起点。

克隆仓库

克隆仓库提示
我使用的是 SSH 方式,提前将 GitCode 的私钥加入 ssh-agent:

ssh-add ~/.ssh/id_rsa_gitcode
git clone git@gitcode.com:june16/hello_flutter_oh.git

克隆完成后,仓库结构非常干净,正适合作为 Flutter 项目的承载目录。

创建 Flutter Hello World 工程

INIT

❯ flutter create hello_world
Creating project hello_world...
Resolving dependencies in `hello_world`...
Downloading packages...
Got dependencies in `hello_world`.
Wrote 164 files.

All done!
You can find general documentation for Flutter at: https://docs.flutter.dev/
Detailed API documentation is available at: https://api.flutter.dev/
If you prefer video documentation, consider: https://www.youtube.com/c/flutterdev

In order to run your application, type:

  $ cd hello_world
  $ flutter run

Your application code is in hello_world/lib/main.dart.

这一步会自动完成:
• Flutter 项目结构生成
• Dart 依赖拉取
• 默认 lib/main.dart 入口文件创建

生成完成后,可以看到相对整洁的 Flutter 项目目录结构,这一步表明:

Flutter 工具链本身是可用的,后面的问题就是平台侧(OpenHarmony)。

BUILD

第一次构建:踩到第一个“基础但致命”的坑 😅

在尝试构建 OpenHarmony 侧工程时,直接遇到错误:

> hvigor ERROR: Failed :entry:default@PackageHap...
> hvigor ERROR: Tools execution failed.
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.
	 Detail: Please check the message from tools.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --debug option to get more log output.

> hvigor ERROR: BUILD FAILED in 11 s 552 ms

我在这台机器上,竟然还没装 Java 环境 😅
这也是一个非常“真实”的开发场景——
Flutter / Android / OpenHarmony 的工具链高度依赖 Java,而这一点在 flutter doctor 中并不会完全暴露出来。

GO ON 第二个问题:OpenHarmony 调试签名未配置

go on new mistake 请通过DevEco Studio打开ohos工程后配置调试签名(File -> Project Structure -> Signing Configs 勾选Automatically generate signature)
HAP 包 必须签名,即便是 debug 运行;Flutter CLI 无法自动替你完成签名配置
但是提示也很友好 明确,直接去 Do it。

RUN

我选择的是真机运行,手持 nova15ultra 😀

❯ flutter run --debug -d 5KTUT25504003736
Launching lib/main.dart on 5KTUT25504003736 in debug mode...
start hap build...
Running Hvigor task assembleHap...                                 12.0s
✓ Built build/ohos/hap/entry-default-signed.hap.
installing hap. bundleName: com.example.hello_world
图片1 图片2

第一次完整跑通 Flutter → OpenHarmony 真机链路,明确了几个关键差异点:

  • Java 环境不可或缺
  • OpenHarmony 强制签名
  • DevEco Studio 仍然是必经环节

这一步之后,我才真正感觉到:
Flutter for OpenHarmony 不再只是“能编译的工程”,而是“能跑在设备上的应用”。

后面将继续尝试 debug 调试功能,并跟着课程节奏前进。

欢迎加入开源鸿蒙跨平台社区
https://openharmonycrossplatform.csdn.net

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐